/ Hex Artifact Content
Login

Artifact abfb9387049fff6996afc6e325736597795baf11:


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 0a 23 20 46 72 65 65 20  00, 2001.# Free 
00d0: 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74  Software Foundat
00e0: 69 6f 6e 2c 20 49 6e 63 2e 0a 23 20 4f 72 69 67  ion, Inc..# Orig
00f0: 69 6e 61 6c 6c 79 20 62 79 20 47 6f 72 64 6f 6e  inally by Gordon
0100: 20 4d 61 74 7a 69 67 6b 65 69 74 20 3c 67 6f 72   Matzigkeit <gor
0110: 64 40 67 6e 75 2e 61 69 2e 6d 69 74 2e 65 64 75  d@gnu.ai.mit.edu
0120: 3e 2c 20 31 39 39 36 0a 23 0a 23 20 54 68 69 73  >, 1996.#.# This
0130: 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65   program is free
0140: 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63   software; you c
0150: 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20  an redistribute 
0160: 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79  it and/or modify
0170: 0a 23 20 69 74 20 75 6e 64 65 72 20 74 68 65 20  .# it under the 
0180: 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55  terms of the GNU
0190: 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20   General Public 
01a0: 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69  License as publi
01b0: 73 68 65 64 20 62 79 0a 23 20 74 68 65 20 46 72  shed by.# the Fr
01c0: 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e  ee Software Foun
01d0: 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76  dation; either v
01e0: 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20  ersion 2 of the 
01f0: 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 28 61  License, or.# (a
0200: 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61  t your option) a
0210: 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e  ny later version
0220: 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72  ..#.# This progr
0230: 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65  am is distribute
0240: 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68  d in the hope th
0250: 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73  at it will be us
0260: 65 66 75 6c 2c 20 62 75 74 0a 23 20 57 49 54 48  eful, but.# WITH
0270: 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59  OUT ANY WARRANTY
0280: 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74  ; without even t
0290: 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61  he implied warra
02a0: 6e 74 79 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e  nty of.# MERCHAN
02b0: 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e  TABILITY or FITN
02c0: 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43  ESS FOR A PARTIC
02d0: 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53  ULAR PURPOSE.  S
02e0: 65 65 20 74 68 65 20 47 4e 55 0a 23 20 47 65 6e  ee the GNU.# Gen
02f0: 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65  eral Public Lice
0300: 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74  nse for more det
0310: 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20 73 68  ails..#.# You sh
0320: 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76  ould have receiv
0330: 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65  ed a copy of the
0340: 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62   GNU General Pub
0350: 6c 69 63 20 4c 69 63 65 6e 73 65 0a 23 20 61 6c  lic License.# al
0360: 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72  ong with this pr
0370: 6f 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 77  ogram; if not, w
0380: 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65  rite to the Free
0390: 20 53 6f 66 74 77 61 72 65 0a 23 20 46 6f 75 6e   Software.# Foun
03a0: 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 39  dation, Inc., 59
03b0: 20 54 65 6d 70 6c 65 20 50 6c 61 63 65 20 2d 20   Temple Place - 
03c0: 53 75 69 74 65 20 33 33 30 2c 20 42 6f 73 74 6f  Suite 330, Bosto
03d0: 6e 2c 20 4d 41 20 30 32 31 31 31 2d 31 33 30 37  n, MA 02111-1307
03e0: 2c 20 55 53 41 2e 0a 23 0a 23 20 41 73 20 61 20  , USA..#.# As a 
03f0: 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f  special exceptio
0400: 6e 20 74 6f 20 74 68 65 20 47 4e 55 20 47 65 6e  n to the GNU Gen
0410: 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65  eral Public Lice
0420: 6e 73 65 2c 20 69 66 20 79 6f 75 0a 23 20 64 69  nse, if you.# di
0430: 73 74 72 69 62 75 74 65 20 74 68 69 73 20 66 69  stribute this fi
0440: 6c 65 20 61 73 20 70 61 72 74 20 6f 66 20 61 20  le as part of a 
0450: 70 72 6f 67 72 61 6d 20 74 68 61 74 20 63 6f 6e  program that con
0460: 74 61 69 6e 73 20 61 0a 23 20 63 6f 6e 66 69 67  tains a.# config
0470: 75 72 61 74 69 6f 6e 20 73 63 72 69 70 74 20 67  uration script g
0480: 65 6e 65 72 61 74 65 64 20 62 79 20 41 75 74 6f  enerated by Auto
0490: 63 6f 6e 66 2c 20 79 6f 75 20 6d 61 79 20 69 6e  conf, you may in
04a0: 63 6c 75 64 65 20 69 74 20 75 6e 64 65 72 0a 23  clude it under.#
04b0: 20 74 68 65 20 73 61 6d 65 20 64 69 73 74 72 69   the same distri
04c0: 62 75 74 69 6f 6e 20 74 65 72 6d 73 20 74 68 61  bution terms tha
04d0: 74 20 79 6f 75 20 75 73 65 20 66 6f 72 20 74 68  t you use for th
04e0: 65 20 72 65 73 74 20 6f 66 20 74 68 61 74 20 70  e rest of that p
04f0: 72 6f 67 72 61 6d 2e 0a 0a 23 20 43 68 65 63 6b  rogram...# Check
0500: 20 74 68 61 74 20 77 65 20 68 61 76 65 20 61 20   that we have a 
0510: 77 6f 72 6b 69 6e 67 20 24 65 63 68 6f 2e 0a 69  working $echo..i
0520: 66 20 74 65 73 74 20 22 58 24 31 22 20 3d 20 58  f test "X$1" = X
0530: 2d 2d 6e 6f 2d 72 65 65 78 65 63 3b 20 74 68 65  --no-reexec; the
0540: 6e 0a 20 20 23 20 44 69 73 63 61 72 64 20 74 68  n.  # Discard th
0550: 65 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c  e --no-reexec fl
0560: 61 67 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65  ag, and continue
0570: 2e 0a 20 20 73 68 69 66 74 0a 65 6c 69 66 20 74  ..  shift.elif t
0580: 65 73 74 20 22 58 24 31 22 20 3d 20 58 2d 2d 66  est "X$1" = X--f
0590: 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 3b 20 74 68  allback-echo; th
05a0: 65 6e 0a 20 20 23 20 41 76 6f 69 64 20 69 6e 6c  en.  # Avoid inl
05b0: 69 6e 65 20 64 6f 63 75 6d 65 6e 74 20 68 65 72  ine document her
05c0: 65 2c 20 69 74 20 6d 61 79 20 62 65 20 6c 65 66  e, it may be lef
05d0: 74 20 6f 76 65 72 0a 20 20 3a 0a 65 6c 69 66 20  t over.  :.elif 
05e0: 74 65 73 74 20 22 58 60 28 24 65 63 68 6f 20 27  test "X`($echo '
05f0: 5c 74 27 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  \t') 2>/dev/null
0600: 60 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e  `" = 'X\t'; then
0610: 0a 20 20 23 20 59 69 70 70 65 65 2c 20 24 65 63  .  # Yippee, $ec
0620: 68 6f 20 77 6f 72 6b 73 21 0a 20 20 3a 0a 65 6c  ho works!.  :.el
0630: 73 65 0a 20 20 23 20 52 65 73 74 61 72 74 20 75  se.  # Restart u
0640: 6e 64 65 72 20 74 68 65 20 63 6f 72 72 65 63 74  nder the correct
0650: 20 73 68 65 6c 6c 2c 20 61 6e 64 20 74 68 65 6e   shell, and then
0660: 20 6d 61 79 62 65 20 24 65 63 68 6f 20 77 69 6c   maybe $echo wil
0670: 6c 20 77 6f 72 6b 2e 0a 20 20 65 78 65 63 20 24  l work..  exec $
0680: 53 48 45 4c 4c 20 22 24 30 22 20 2d 2d 6e 6f 2d  SHELL "$0" --no-
0690: 72 65 65 78 65 63 20 24 7b 31 2b 22 24 40 22 7d  reexec ${1+"$@"}
06a0: 0a 66 69 0a 0a 69 66 20 74 65 73 74 20 22 58 24  .fi..if test "X$
06b0: 31 22 20 3d 20 58 2d 2d 66 61 6c 6c 62 61 63 6b  1" = X--fallback
06c0: 2d 65 63 68 6f 3b 20 74 68 65 6e 0a 20 20 23 20  -echo; then.  # 
06d0: 75 73 65 64 20 61 73 20 66 61 6c 6c 62 61 63 6b  used as fallback
06e0: 20 65 63 68 6f 0a 20 20 73 68 69 66 74 0a 20 20   echo.  shift.  
06f0: 63 61 74 20 3c 3c 45 4f 46 0a 24 2a 0a 45 4f 46  cat <<EOF.$*.EOF
0700: 0a 20 20 65 78 69 74 20 30 0a 66 69 0a 0a 23 20  .  exit 0.fi..# 
0710: 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 69 73  The name of this
0720: 20 70 72 6f 67 72 61 6d 2e 0a 70 72 6f 67 6e 61   program..progna
0730: 6d 65 3d 60 24 65 63 68 6f 20 22 24 30 22 20 7c  me=`$echo "$0" |
0740: 20 24 7b 53 45 44 7d 20 27 73 25 5e 2e 2a 2f 25   ${SED} 's%^.*/%
0750: 25 27 60 0a 6d 6f 64 65 6e 61 6d 65 3d 22 24 70  %'`.modename="$p
0760: 72 6f 67 6e 61 6d 65 22 0a 0a 23 20 43 6f 6e 73  rogname"..# Cons
0770: 74 61 6e 74 73 2e 0a 50 52 4f 47 52 41 4d 3d 6c  tants..PROGRAM=l
0780: 74 6d 61 69 6e 2e 73 68 0a 50 41 43 4b 41 47 45  tmain.sh.PACKAGE
0790: 3d 6c 69 62 74 6f 6f 6c 0a 56 45 52 53 49 4f 4e  =libtool.VERSION
07a0: 3d 31 2e 34 2e 33 0a 54 49 4d 45 53 54 41 4d 50  =1.4.3.TIMESTAMP
07b0: 3d 22 20 28 31 2e 39 32 32 2e 32 2e 31 31 31 20  =" (1.922.2.111 
07c0: 32 30 30 32 2f 31 30 2f 32 33 20 30 32 3a 35 34  2002/10/23 02:54
07d0: 3a 33 36 29 22 0a 0a 64 65 66 61 75 6c 74 5f 6d  :36)"..default_m
07e0: 6f 64 65 3d 0a 68 65 6c 70 3d 22 54 72 79 20 5c  ode=.help="Try \
07f0: 60 24 70 72 6f 67 6e 61 6d 65 20 2d 2d 68 65 6c  `$progname --hel
0800: 70 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f  p' for more info
0810: 72 6d 61 74 69 6f 6e 2e 22 0a 6d 61 67 69 63 3d  rmation.".magic=
0820: 22 25 25 25 4d 41 47 49 43 20 76 61 72 69 61 62  "%%%MAGIC variab
0830: 6c 65 25 25 25 22 0a 6d 6b 64 69 72 3d 22 6d 6b  le%%%".mkdir="mk
0840: 64 69 72 22 0a 6d 76 3d 22 6d 76 20 2d 66 22 0a  dir".mv="mv -f".
0850: 72 6d 3d 22 72 6d 20 2d 66 22 0a 0a 23 20 53 65  rm="rm -f"..# Se
0860: 64 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 74  d substitution t
0870: 68 61 74 20 68 65 6c 70 73 20 75 73 20 64 6f 20  hat helps us do 
0880: 72 6f 62 75 73 74 20 71 75 6f 74 69 6e 67 2e 20  robust quoting. 
0890: 20 49 74 20 62 61 63 6b 73 6c 61 73 68 69 66 69   It backslashifi
08a0: 65 73 0a 23 20 6d 65 74 61 63 68 61 72 61 63 74  es.# metacharact
08b0: 65 72 73 20 74 68 61 74 20 61 72 65 20 73 74 69  ers that are sti
08c0: 6c 6c 20 61 63 74 69 76 65 20 77 69 74 68 69 6e  ll active within
08d0: 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 64 20 73   double-quoted s
08e0: 74 72 69 6e 67 73 2e 0a 58 73 65 64 3d 22 24 7b  trings..Xsed="${
08f0: 53 45 44 7d 22 27 20 2d 65 20 31 73 2f 5e 58 2f  SED}"' -e 1s/^X/
0900: 2f 27 0a 73 65 64 5f 71 75 6f 74 65 5f 73 75 62  /'.sed_quote_sub
0910: 73 74 3d 27 73 2f 5c 28 5b 5c 5c 60 5c 5c 22 24  st='s/\([\\`\\"$
0920: 5c 5c 5c 5c 5d 5c 29 2f 5c 5c 5c 31 2f 67 27 0a  \\\\]\)/\\\1/g'.
0930: 23 20 74 65 73 74 20 45 42 43 44 49 43 20 6f 72  # test EBCDIC or
0940: 20 41 53 43 49 49 20 20 20 20 20 20 20 20 20 20   ASCII          
0950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0980: 63 61 73 65 20 60 65 63 68 6f 20 41 7c 6f 64 20  case `echo A|od 
0990: 2d 78 60 20 69 6e 20 20 20 20 20 20 20 20 20 20  -x` in          
09a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
09d0: 20 2a 5b 43 63 5d 31 2a 29 20 23 20 45 42 43 44   *[Cc]1*) # EBCD
09e0: 49 43 20 62 61 73 65 64 20 73 79 73 74 65 6d 20  IC based system 
09f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0a20: 20 20 53 50 32 4e 4c 3d 22 74 72 20 27 5c 31 30    SP2NL="tr '\10
0a30: 30 27 20 27 5c 6e 27 22 20 20 20 20 20 20 20 20  0' '\n'"        
0a40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0a70: 20 20 4e 4c 32 53 50 3d 22 74 72 20 27 5c 72 5c    NL2SP="tr '\r\
0a80: 6e 27 20 27 5c 31 30 30 5c 31 30 30 27 22 20 20  n' '\100\100'"  
0a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0ac0: 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20    ;;            
0ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0b10: 20 2a 29 20 23 20 41 73 73 75 6d 65 20 41 53 43   *) # Assume ASC
0b20: 49 49 20 62 61 73 65 64 20 73 79 73 74 65 6d 20  II based system 
0b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0b60: 20 20 53 50 32 4e 4c 3d 22 74 72 20 27 5c 30 34    SP2NL="tr '\04
0b70: 30 27 20 27 5c 30 31 32 27 22 20 20 20 20 20 20  0' '\012'"      
0b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0bb0: 20 20 4e 4c 32 53 50 3d 22 74 72 20 27 5c 30 31    NL2SP="tr '\01
0bc0: 35 5c 30 31 32 27 20 27 5c 30 34 30 5c 30 34 30  5\012' '\040\040
0bd0: 27 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20  '"              
0be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0c00: 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20    ;;            
0c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0c50: 65 73 61 63 20 20 20 20 20 20 20 20 20 20 20 20  esac            
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a                 .
0ca0: 0a 23 20 4e 4c 53 20 6e 75 69 73 61 6e 63 65 73  .# NLS nuisances
0cb0: 2e 0a 23 20 4f 6e 6c 79 20 73 65 74 20 4c 41 4e  ..# Only set LAN
0cc0: 47 20 61 6e 64 20 4c 43 5f 41 4c 4c 20 74 6f 20  G and LC_ALL to 
0cd0: 43 20 69 66 20 61 6c 72 65 61 64 79 20 73 65 74  C if already set
0ce0: 2e 0a 23 20 54 68 65 73 65 20 6d 75 73 74 20 6e  ..# These must n
0cf0: 6f 74 20 62 65 20 73 65 74 20 75 6e 63 6f 6e 64  ot be set uncond
0d00: 69 74 69 6f 6e 61 6c 6c 79 20 62 65 63 61 75 73  itionally becaus
0d10: 65 20 6e 6f 74 20 61 6c 6c 20 73 79 73 74 65 6d  e not all system
0d20: 73 20 75 6e 64 65 72 73 74 61 6e 64 0a 23 20 65  s understand.# e
0d30: 2e 67 2e 20 4c 41 4e 47 3d 43 20 28 6e 6f 74 61  .g. LANG=C (nota
0d40: 62 6c 79 20 53 43 4f 29 2e 0a 23 20 57 65 20 73  bly SCO)..# We s
0d50: 61 76 65 20 74 68 65 20 6f 6c 64 20 76 61 6c 75  ave the old valu
0d60: 65 73 20 74 6f 20 72 65 73 74 6f 72 65 20 64 75  es to restore du
0d70: 72 69 6e 67 20 65 78 65 63 75 74 65 20 6d 6f 64  ring execute mod
0d80: 65 2e 0a 69 66 20 74 65 73 74 20 22 24 7b 4c 43  e..if test "${LC
0d90: 5f 41 4c 4c 2b 73 65 74 7d 22 20 3d 20 73 65 74  _ALL+set}" = set
0da0: 3b 20 74 68 65 6e 0a 20 20 73 61 76 65 5f 4c 43  ; then.  save_LC
0db0: 5f 41 4c 4c 3d 22 24 4c 43 5f 41 4c 4c 22 3b 20  _ALL="$LC_ALL"; 
0dc0: 4c 43 5f 41 4c 4c 3d 43 3b 20 65 78 70 6f 72 74  LC_ALL=C; export
0dd0: 20 4c 43 5f 41 4c 4c 0a 66 69 0a 69 66 20 74 65   LC_ALL.fi.if te
0de0: 73 74 20 22 24 7b 4c 41 4e 47 2b 73 65 74 7d 22  st "${LANG+set}"
0df0: 20 3d 20 73 65 74 3b 20 74 68 65 6e 0a 20 20 73   = set; then.  s
0e00: 61 76 65 5f 4c 41 4e 47 3d 22 24 4c 41 4e 47 22  ave_LANG="$LANG"
0e10: 3b 20 4c 41 4e 47 3d 43 3b 20 65 78 70 6f 72 74  ; LANG=C; export
0e20: 20 4c 41 4e 47 0a 66 69 0a 0a 23 20 4d 61 6b 65   LANG.fi..# Make
0e30: 20 73 75 72 65 20 49 46 53 20 68 61 73 20 61 20   sure IFS has a 
0e40: 73 65 6e 73 69 62 6c 65 20 64 65 66 61 75 6c 74  sensible default
0e50: 0a 3a 20 24 7b 49 46 53 3d 22 20 09 22 7d 0a 0a  .: ${IFS=" ."}..
0e60: 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
0e70: 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d  libtool_libs" !=
0e80: 20 79 65 73 20 26 26 20 74 65 73 74 20 22 24 62   yes && test "$b
0e90: 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 21  uild_old_libs" !
0ea0: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 65 63  = yes; then.  ec
0eb0: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6e  ho "$modename: n
0ec0: 6f 74 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f  ot configured to
0ed0: 20 62 75 69 6c 64 20 61 6e 79 20 6b 69 6e 64 20   build any kind 
0ee0: 6f 66 20 6c 69 62 72 61 72 79 22 20 31 3e 26 32  of library" 1>&2
0ef0: 0a 20 20 65 63 68 6f 20 22 46 61 74 61 6c 20 63  .  echo "Fatal c
0f00: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 65 72 72  onfiguration err
0f10: 6f 72 2e 20 20 53 65 65 20 74 68 65 20 24 50 41  or.  See the $PA
0f20: 43 4b 41 47 45 20 64 6f 63 73 20 66 6f 72 20 6d  CKAGE docs for m
0f30: 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e  ore information.
0f40: 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20 31 0a  " 1>&2.  exit 1.
0f50: 66 69 0a 0a 23 20 47 6c 6f 62 61 6c 20 76 61 72  fi..# Global var
0f60: 69 61 62 6c 65 73 2e 0a 6d 6f 64 65 3d 24 64 65  iables..mode=$de
0f70: 66 61 75 6c 74 5f 6d 6f 64 65 0a 6e 6f 6e 6f 70  fault_mode.nonop
0f80: 74 3d 0a 70 72 65 76 3d 0a 70 72 65 76 6f 70 74  t=.prev=.prevopt
0f90: 3d 0a 72 75 6e 3d 0a 73 68 6f 77 3d 22 24 65 63  =.run=.show="$ec
0fa0: 68 6f 22 0a 73 68 6f 77 5f 68 65 6c 70 3d 0a 65  ho".show_help=.e
0fb0: 78 65 63 75 74 65 5f 64 6c 66 69 6c 65 73 3d 0a  xecute_dlfiles=.
0fc0: 6c 6f 32 6f 3d 22 73 2f 5c 5c 2e 6c 6f 5c 24 2f  lo2o="s/\\.lo\$/
0fd0: 2e 24 7b 6f 62 6a 65 78 74 7d 2f 22 0a 6f 32 6c  .${objext}/".o2l
0fe0: 6f 3d 22 73 2f 5c 5c 2e 24 7b 6f 62 6a 65 78 74  o="s/\\.${objext
0ff0: 7d 5c 24 2f 2e 6c 6f 2f 22 0a 0a 23 20 50 61 72  }\$/.lo/"..# Par
1000: 73 65 20 6f 75 72 20 63 6f 6d 6d 61 6e 64 20 6c  se our command l
1010: 69 6e 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 63 65  ine options once
1020: 2c 20 74 68 6f 72 6f 75 67 68 6c 79 2e 0a 77 68  , thoroughly..wh
1030: 69 6c 65 20 74 65 73 74 20 24 23 20 2d 67 74 20  ile test $# -gt 
1040: 30 0a 64 6f 0a 20 20 61 72 67 3d 22 24 31 22 0a  0.do.  arg="$1".
1050: 20 20 73 68 69 66 74 0a 0a 20 20 63 61 73 65 20    shift..  case 
1060: 24 61 72 67 20 69 6e 0a 20 20 2d 2a 3d 2a 29 20  $arg in.  -*=*) 
1070: 6f 70 74 61 72 67 3d 60 24 65 63 68 6f 20 22 58  optarg=`$echo "X
1080: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
1090: 20 27 73 2f 5b 2d 5f 61 2d 7a 41 2d 5a 30 2d 39   's/[-_a-zA-Z0-9
10a0: 5d 2a 3d 2f 2f 27 60 20 3b 3b 0a 20 20 2a 29 20  ]*=//'` ;;.  *) 
10b0: 6f 70 74 61 72 67 3d 20 3b 3b 0a 20 20 65 73 61  optarg= ;;.  esa
10c0: 63 0a 0a 20 20 23 20 49 66 20 74 68 65 20 70 72  c..  # If the pr
10d0: 65 76 69 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65  evious option ne
10e0: 65 64 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c  eds an argument,
10f0: 20 61 73 73 69 67 6e 20 69 74 2e 0a 20 20 69 66   assign it..  if
1100: 20 74 65 73 74 20 2d 6e 20 22 24 70 72 65 76 22   test -n "$prev"
1110: 3b 20 74 68 65 6e 0a 20 20 20 20 63 61 73 65 20  ; then.    case 
1120: 24 70 72 65 76 20 69 6e 0a 20 20 20 20 65 78 65  $prev in.    exe
1130: 63 75 74 65 5f 64 6c 66 69 6c 65 73 29 0a 20 20  cute_dlfiles).  
1140: 20 20 20 20 65 78 65 63 75 74 65 5f 64 6c 66 69      execute_dlfi
1150: 6c 65 73 3d 22 24 65 78 65 63 75 74 65 5f 64 6c  les="$execute_dl
1160: 66 69 6c 65 73 20 24 61 72 67 22 0a 20 20 20 20  files $arg".    
1170: 20 20 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20    ;;.    *).    
1180: 20 20 65 76 61 6c 20 22 24 70 72 65 76 3d 5c 24    eval "$prev=\$
1190: 61 72 67 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20  arg".      ;;.  
11a0: 20 20 65 73 61 63 0a 0a 20 20 20 20 70 72 65 76    esac..    prev
11b0: 3d 0a 20 20 20 20 70 72 65 76 6f 70 74 3d 0a 20  =.    prevopt=. 
11c0: 20 20 20 63 6f 6e 74 69 6e 75 65 0a 20 20 66 69     continue.  fi
11d0: 0a 0a 20 20 23 20 48 61 76 65 20 77 65 20 73 65  ..  # Have we se
11e0: 65 6e 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61  en a non-optiona
11f0: 6c 20 61 72 67 75 6d 65 6e 74 20 79 65 74 3f 0a  l argument yet?.
1200: 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
1210: 20 2d 2d 68 65 6c 70 29 0a 20 20 20 20 73 68 6f   --help).    sho
1220: 77 5f 68 65 6c 70 3d 79 65 73 0a 20 20 20 20 3b  w_help=yes.    ;
1230: 3b 0a 0a 20 20 2d 2d 76 65 72 73 69 6f 6e 29 0a  ;..  --version).
1240: 20 20 20 20 65 63 68 6f 20 22 24 50 52 4f 47 52      echo "$PROGR
1250: 41 4d 20 28 47 4e 55 20 24 50 41 43 4b 41 47 45  AM (GNU $PACKAGE
1260: 29 20 24 56 45 52 53 49 4f 4e 24 54 49 4d 45 53  ) $VERSION$TIMES
1270: 54 41 4d 50 22 0a 20 20 20 20 65 78 69 74 20 30  TAMP".    exit 0
1280: 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 63 6f 6e  .    ;;..  --con
1290: 66 69 67 29 0a 20 20 20 20 24 7b 53 45 44 7d 20  fig).    ${SED} 
12a0: 2d 65 20 27 31 2c 2f 5e 23 20 23 23 23 20 42 45  -e '1,/^# ### BE
12b0: 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 43 4f 4e 46  GIN LIBTOOL CONF
12c0: 49 47 2f 64 27 20 2d 65 20 27 2f 5e 23 20 23 23  IG/d' -e '/^# ##
12d0: 23 20 45 4e 44 20 4c 49 42 54 4f 4f 4c 20 43 4f  # END LIBTOOL CO
12e0: 4e 46 49 47 2f 2c 24 64 27 20 24 30 0a 20 20 20  NFIG/,$d' $0.   
12f0: 20 65 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a   exit 0.    ;;..
1300: 20 20 2d 2d 64 65 62 75 67 29 0a 20 20 20 20 65    --debug).    e
1310: 63 68 6f 20 22 24 70 72 6f 67 6e 61 6d 65 3a 20  cho "$progname: 
1320: 65 6e 61 62 6c 69 6e 67 20 73 68 65 6c 6c 20 74  enabling shell t
1330: 72 61 63 65 20 6d 6f 64 65 22 0a 20 20 20 20 73  race mode".    s
1340: 65 74 20 2d 78 0a 20 20 20 20 3b 3b 0a 0a 20 20  et -x.    ;;..  
1350: 2d 2d 64 72 79 2d 72 75 6e 20 7c 20 2d 6e 29 0a  --dry-run | -n).
1360: 20 20 20 20 72 75 6e 3d 3a 0a 20 20 20 20 3b 3b      run=:.    ;;
1370: 0a 0a 20 20 2d 2d 66 65 61 74 75 72 65 73 29 0a  ..  --features).
1380: 20 20 20 20 65 63 68 6f 20 22 68 6f 73 74 3a 20      echo "host: 
1390: 24 68 6f 73 74 22 0a 20 20 20 20 69 66 20 74 65  $host".    if te
13a0: 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
13b0: 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ol_libs" = yes; 
13c0: 74 68 65 6e 0a 20 20 20 20 20 20 65 63 68 6f 20  then.      echo 
13d0: 22 65 6e 61 62 6c 65 20 73 68 61 72 65 64 20 6c  "enable shared l
13e0: 69 62 72 61 72 69 65 73 22 0a 20 20 20 20 65 6c  ibraries".    el
13f0: 73 65 0a 20 20 20 20 20 20 65 63 68 6f 20 22 64  se.      echo "d
1400: 69 73 61 62 6c 65 20 73 68 61 72 65 64 20 6c 69  isable shared li
1410: 62 72 61 72 69 65 73 22 0a 20 20 20 20 66 69 0a  braries".    fi.
1420: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62 75      if test "$bu
1430: 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20  ild_old_libs" = 
1440: 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  yes; then.      
1450: 65 63 68 6f 20 22 65 6e 61 62 6c 65 20 73 74 61  echo "enable sta
1460: 74 69 63 20 6c 69 62 72 61 72 69 65 73 22 0a 20  tic libraries". 
1470: 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 63     else.      ec
1480: 68 6f 20 22 64 69 73 61 62 6c 65 20 73 74 61 74  ho "disable stat
1490: 69 63 20 6c 69 62 72 61 72 69 65 73 22 0a 20 20  ic libraries".  
14a0: 20 20 66 69 0a 20 20 20 20 65 78 69 74 20 30 0a    fi.    exit 0.
14b0: 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 66 69 6e 69      ;;..  --fini
14c0: 73 68 29 20 6d 6f 64 65 3d 22 66 69 6e 69 73 68  sh) mode="finish
14d0: 22 20 3b 3b 0a 0a 20 20 2d 2d 6d 6f 64 65 29 20  " ;;..  --mode) 
14e0: 70 72 65 76 6f 70 74 3d 22 2d 2d 6d 6f 64 65 22  prevopt="--mode"
14f0: 20 70 72 65 76 3d 6d 6f 64 65 20 3b 3b 0a 20 20   prev=mode ;;.  
1500: 2d 2d 6d 6f 64 65 3d 2a 29 20 6d 6f 64 65 3d 22  --mode=*) mode="
1510: 24 6f 70 74 61 72 67 22 20 3b 3b 0a 0a 20 20 2d  $optarg" ;;..  -
1520: 2d 70 72 65 73 65 72 76 65 2d 64 75 70 2d 64 65  -preserve-dup-de
1530: 70 73 29 20 64 75 70 6c 69 63 61 74 65 5f 64 65  ps) duplicate_de
1540: 70 73 3d 22 79 65 73 22 20 3b 3b 0a 0a 20 20 2d  ps="yes" ;;..  -
1550: 2d 71 75 69 65 74 20 7c 20 2d 2d 73 69 6c 65 6e  -quiet | --silen
1560: 74 29 0a 20 20 20 20 73 68 6f 77 3d 3a 0a 20 20  t).    show=:.  
1570: 20 20 3b 3b 0a 0a 20 20 2d 64 6c 6f 70 65 6e 29    ;;..  -dlopen)
1580: 0a 20 20 20 20 70 72 65 76 6f 70 74 3d 22 2d 64  .    prevopt="-d
1590: 6c 6f 70 65 6e 22 0a 20 20 20 20 70 72 65 76 3d  lopen".    prev=
15a0: 65 78 65 63 75 74 65 5f 64 6c 66 69 6c 65 73 0a  execute_dlfiles.
15b0: 20 20 20 20 3b 3b 0a 0a 20 20 2d 2a 29 0a 20 20      ;;..  -*).  
15c0: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
15d0: 6d 65 3a 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64  me: unrecognized
15e0: 20 6f 70 74 69 6f 6e 20 5c 60 24 61 72 67 27 22   option \`$arg'"
15f0: 20 31 3e 26 32 0a 20 20 20 20 24 65 63 68 6f 20   1>&2.    $echo 
1600: 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20  "$help" 1>&2.   
1610: 20 65 78 69 74 20 31 0a 20 20 20 20 3b 3b 0a 0a   exit 1.    ;;..
1620: 20 20 2a 29 0a 20 20 20 20 6e 6f 6e 6f 70 74 3d    *).    nonopt=
1630: 22 24 61 72 67 22 0a 20 20 20 20 62 72 65 61 6b  "$arg".    break
1640: 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a 64  .    ;;.  esac.d
1650: 6f 6e 65 0a 0a 69 66 20 74 65 73 74 20 2d 6e 20  one..if test -n 
1660: 22 24 70 72 65 76 6f 70 74 22 3b 20 74 68 65 6e  "$prevopt"; then
1670: 0a 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
1680: 61 6d 65 3a 20 6f 70 74 69 6f 6e 20 5c 60 24 70  ame: option \`$p
1690: 72 65 76 6f 70 74 27 20 72 65 71 75 69 72 65 73  revopt' requires
16a0: 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 20 31 3e   an argument" 1>
16b0: 26 32 0a 20 20 24 65 63 68 6f 20 22 24 68 65 6c  &2.  $echo "$hel
16c0: 70 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20 31  p" 1>&2.  exit 1
16d0: 0a 66 69 0a 0a 23 20 49 66 20 74 68 69 73 20 76  .fi..# If this v
16e0: 61 72 69 61 62 6c 65 20 69 73 20 73 65 74 20 69  ariable is set i
16f0: 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 61 63 74  n any of the act
1700: 69 6f 6e 73 2c 20 74 68 65 20 63 6f 6d 6d 61 6e  ions, the comman
1710: 64 20 69 6e 20 69 74 0a 23 20 77 69 6c 6c 20 62  d in it.# will b
1720: 65 20 65 78 65 63 65 64 20 61 74 20 74 68 65 20  e execed at the 
1730: 65 6e 64 2e 20 20 54 68 69 73 20 70 72 65 76 65  end.  This preve
1740: 6e 74 73 20 68 65 72 65 2d 64 6f 63 75 6d 65 6e  nts here-documen
1750: 74 73 20 66 72 6f 6d 20 62 65 69 6e 67 0a 23 20  ts from being.# 
1760: 6c 65 66 74 20 6f 76 65 72 20 62 79 20 73 68 65  left over by she
1770: 6c 6c 73 2e 0a 65 78 65 63 5f 63 6d 64 3d 0a 0a  lls..exec_cmd=..
1780: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 73 68 6f  if test -z "$sho
1790: 77 5f 68 65 6c 70 22 3b 20 74 68 65 6e 0a 0a 20  w_help"; then.. 
17a0: 20 23 20 49 6e 66 65 72 20 74 68 65 20 6f 70 65   # Infer the ope
17b0: 72 61 74 69 6f 6e 20 6d 6f 64 65 2e 0a 20 20 69  ration mode..  i
17c0: 66 20 74 65 73 74 20 2d 7a 20 22 24 6d 6f 64 65  f test -z "$mode
17d0: 22 3b 20 74 68 65 6e 0a 20 20 20 20 63 61 73 65  "; then.    case
17e0: 20 24 6e 6f 6e 6f 70 74 20 69 6e 0a 20 20 20 20   $nonopt in.    
17f0: 2a 63 63 20 7c 20 2a 2b 2b 20 7c 20 67 63 63 2a  *cc | *++ | gcc*
1800: 20 7c 20 2a 2d 67 63 63 2a 20 7c 20 67 2b 2b 2a   | *-gcc* | g++*
1810: 20 7c 20 78 6c 63 2a 29 0a 20 20 20 20 20 20 6d   | xlc*).      m
1820: 6f 64 65 3d 6c 69 6e 6b 0a 20 20 20 20 20 20 66  ode=link.      f
1830: 6f 72 20 61 72 67 0a 20 20 20 20 20 20 64 6f 0a  or arg.      do.
1840: 09 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 2d  .case $arg in..-
1850: 63 29 0a 09 20 20 20 6d 6f 64 65 3d 63 6f 6d 70  c)..   mode=comp
1860: 69 6c 65 0a 09 20 20 20 62 72 65 61 6b 0a 09 20  ile..   break.. 
1870: 20 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20    ;;..esac.     
1880: 20 64 6f 6e 65 0a 20 20 20 20 20 20 3b 3b 0a 20   done.      ;;. 
1890: 20 20 20 2a 64 62 20 7c 20 2a 64 62 78 20 7c 20     *db | *dbx | 
18a0: 2a 73 74 72 61 63 65 20 7c 20 2a 74 72 75 73 73  *strace | *truss
18b0: 29 0a 20 20 20 20 20 20 6d 6f 64 65 3d 65 78 65  ).      mode=exe
18c0: 63 75 74 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20  cute.      ;;.  
18d0: 20 20 2a 69 6e 73 74 61 6c 6c 2a 7c 63 70 7c 6d    *install*|cp|m
18e0: 76 29 0a 20 20 20 20 20 20 6d 6f 64 65 3d 69 6e  v).      mode=in
18f0: 73 74 61 6c 6c 0a 20 20 20 20 20 20 3b 3b 0a 20  stall.      ;;. 
1900: 20 20 20 2a 72 6d 29 0a 20 20 20 20 20 20 6d 6f     *rm).      mo
1910: 64 65 3d 75 6e 69 6e 73 74 61 6c 6c 0a 20 20 20  de=uninstall.   
1920: 20 20 20 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20     ;;.    *).   
1930: 20 20 20 23 20 49 66 20 77 65 20 68 61 76 65 20     # If we have 
1940: 6e 6f 20 6d 6f 64 65 2c 20 62 75 74 20 64 6c 66  no mode, but dlf
1950: 69 6c 65 73 20 77 65 72 65 20 73 70 65 63 69 66  iles were specif
1960: 69 65 64 2c 20 74 68 65 6e 20 64 6f 20 65 78 65  ied, then do exe
1970: 63 75 74 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20  cute mode..     
1980: 20 74 65 73 74 20 2d 6e 20 22 24 65 78 65 63 75   test -n "$execu
1990: 74 65 5f 64 6c 66 69 6c 65 73 22 20 26 26 20 6d  te_dlfiles" && m
19a0: 6f 64 65 3d 65 78 65 63 75 74 65 0a 0a 20 20 20  ode=execute..   
19b0: 20 20 20 23 20 4a 75 73 74 20 75 73 65 20 74 68     # Just use th
19c0: 65 20 64 65 66 61 75 6c 74 20 6f 70 65 72 61 74  e default operat
19d0: 69 6f 6e 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20  ion mode..      
19e0: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6d 6f 64  if test -z "$mod
19f0: 65 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73  e"; then..if tes
1a00: 74 20 2d 6e 20 22 24 6e 6f 6e 6f 70 74 22 3b 20  t -n "$nonopt"; 
1a10: 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24  then..  $echo "$
1a20: 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
1a30: 67 3a 20 63 61 6e 6e 6f 74 20 69 6e 66 65 72 20  g: cannot infer 
1a40: 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65 20 66  operation mode f
1a50: 72 6f 6d 20 5c 60 24 6e 6f 6e 6f 70 74 27 22 20  rom \`$nonopt'" 
1a60: 31 3e 26 32 0a 09 65 6c 73 65 0a 09 20 20 24 65  1>&2..else..  $e
1a70: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
1a80: 77 61 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20  warning: cannot 
1a90: 69 6e 66 65 72 20 6f 70 65 72 61 74 69 6f 6e 20  infer operation 
1aa0: 6d 6f 64 65 20 77 69 74 68 6f 75 74 20 4d 4f 44  mode without MOD
1ab0: 45 2d 41 52 47 53 22 20 31 3e 26 32 0a 09 66 69  E-ARGS" 1>&2..fi
1ac0: 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
1ad0: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 66 69  ;;.    esac.  fi
1ae0: 0a 0a 20 20 23 20 4f 6e 6c 79 20 65 78 65 63 75  ..  # Only execu
1af0: 74 65 20 6d 6f 64 65 20 69 73 20 61 6c 6c 6f 77  te mode is allow
1b00: 65 64 20 74 6f 20 68 61 76 65 20 2d 64 6c 6f 70  ed to have -dlop
1b10: 65 6e 20 66 6c 61 67 73 2e 0a 20 20 69 66 20 74  en flags..  if t
1b20: 65 73 74 20 2d 6e 20 22 24 65 78 65 63 75 74 65  est -n "$execute
1b30: 5f 64 6c 66 69 6c 65 73 22 20 26 26 20 74 65 73  _dlfiles" && tes
1b40: 74 20 22 24 6d 6f 64 65 22 20 21 3d 20 65 78 65  t "$mode" != exe
1b50: 63 75 74 65 3b 20 74 68 65 6e 0a 20 20 20 20 24  cute; then.    $
1b60: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
1b70: 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70   unrecognized op
1b80: 74 69 6f 6e 20 5c 60 2d 64 6c 6f 70 65 6e 27 22  tion \`-dlopen'"
1b90: 20 31 3e 26 32 0a 20 20 20 20 24 65 63 68 6f 20   1>&2.    $echo 
1ba0: 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20  "$help" 1>&2.   
1bb0: 20 65 78 69 74 20 31 0a 20 20 66 69 0a 0a 20 20   exit 1.  fi..  
1bc0: 23 20 43 68 61 6e 67 65 20 74 68 65 20 68 65 6c  # Change the hel
1bd0: 70 20 6d 65 73 73 61 67 65 20 74 6f 20 61 20 6d  p message to a m
1be0: 6f 64 65 2d 73 70 65 63 69 66 69 63 20 6f 6e 65  ode-specific one
1bf0: 2e 0a 20 20 67 65 6e 65 72 69 63 5f 68 65 6c 70  ..  generic_help
1c00: 3d 22 24 68 65 6c 70 22 0a 20 20 68 65 6c 70 3d  ="$help".  help=
1c10: 22 54 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65  "Try \`$modename
1c20: 20 2d 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 24   --help --mode=$
1c30: 6d 6f 64 65 27 20 66 6f 72 20 6d 6f 72 65 20 69  mode' for more i
1c40: 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 0a 20 20  nformation."..  
1c50: 23 20 54 68 65 73 65 20 6d 6f 64 65 73 20 61 72  # These modes ar
1c60: 65 20 69 6e 20 6f 72 64 65 72 20 6f 66 20 65 78  e in order of ex
1c70: 65 63 75 74 69 6f 6e 20 66 72 65 71 75 65 6e 63  ecution frequenc
1c80: 79 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 72  y so that they r
1c90: 75 6e 20 71 75 69 63 6b 6c 79 2e 0a 20 20 63 61  un quickly..  ca
1ca0: 73 65 20 24 6d 6f 64 65 20 69 6e 0a 20 20 23 20  se $mode in.  # 
1cb0: 6c 69 62 74 6f 6f 6c 20 63 6f 6d 70 69 6c 65 20  libtool compile 
1cc0: 6d 6f 64 65 0a 20 20 63 6f 6d 70 69 6c 65 29 0a  mode.  compile).
1cd0: 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d      modename="$m
1ce0: 6f 64 65 6e 61 6d 65 3a 20 63 6f 6d 70 69 6c 65  odename: compile
1cf0: 22 0a 20 20 20 20 23 20 47 65 74 20 74 68 65 20  ".    # Get the 
1d00: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d  compilation comm
1d10: 61 6e 64 20 61 6e 64 20 74 68 65 20 73 6f 75 72  and and the sour
1d20: 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 62 61 73  ce file..    bas
1d30: 65 5f 63 6f 6d 70 69 6c 65 3d 0a 20 20 20 20 70  e_compile=.    p
1d40: 72 65 76 3d 0a 20 20 20 20 6c 61 73 74 61 72 67  rev=.    lastarg
1d50: 3d 0a 20 20 20 20 73 72 63 66 69 6c 65 3d 22 24  =.    srcfile="$
1d60: 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 73 75 70 70  nonopt".    supp
1d70: 72 65 73 73 5f 6f 75 74 70 75 74 3d 0a 0a 20 20  ress_output=..  
1d80: 20 20 75 73 65 72 5f 74 61 72 67 65 74 3d 6e 6f    user_target=no
1d90: 0a 20 20 20 20 66 6f 72 20 61 72 67 0a 20 20 20  .    for arg.   
1da0: 20 64 6f 0a 20 20 20 20 20 20 63 61 73 65 20 24   do.      case $
1db0: 70 72 65 76 20 69 6e 0a 20 20 20 20 20 20 22 22  prev in.      ""
1dc0: 29 20 3b 3b 0a 20 20 20 20 20 20 78 63 6f 6d 70  ) ;;.      xcomp
1dd0: 69 6c 65 72 29 0a 09 23 20 41 65 73 74 68 65 74  iler)..# Aesthet
1de0: 69 63 61 6c 6c 79 20 71 75 6f 74 65 20 74 68 65  ically quote the
1df0: 20 70 72 65 76 69 6f 75 73 20 61 72 67 75 6d 65   previous argume
1e00: 6e 74 2e 0a 09 70 72 65 76 3d 0a 09 6c 61 73 74  nt...prev=..last
1e10: 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 61 72  arg=`$echo "X$ar
1e20: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  g" | $Xsed -e "$
1e30: 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
1e40: 60 0a 0a 09 63 61 73 65 20 24 61 72 67 20 69 6e  `...case $arg in
1e50: 0a 09 23 20 44 6f 75 62 6c 65 2d 71 75 6f 74 65  ..# Double-quote
1e60: 20 61 72 67 73 20 63 6f 6e 74 61 69 6e 69 6e 67   args containing
1e70: 20 6f 74 68 65 72 20 73 68 65 6c 6c 20 6d 65 74   other shell met
1e80: 61 63 68 61 72 61 63 74 65 72 73 2e 0a 09 23 20  acharacters...# 
1e90: 4d 61 6e 79 20 42 6f 75 72 6e 65 20 73 68 65 6c  Many Bourne shel
1ea0: 6c 73 20 63 61 6e 6e 6f 74 20 68 61 6e 64 6c 65  ls cannot handle
1eb0: 20 63 6c 6f 73 65 20 62 72 61 63 6b 65 74 73 20   close brackets 
1ec0: 63 6f 72 72 65 63 74 6c 79 0a 09 23 20 69 6e 20  correctly..# in 
1ed0: 73 63 61 6e 20 73 65 74 73 2c 20 73 6f 20 77 65  scan sets, so we
1ee0: 20 73 70 65 63 69 66 79 20 69 74 20 73 65 70 61   specify it sepa
1ef0: 72 61 74 65 6c 79 2e 0a 09 2a 5b 5c 5b 5c 7e 5c  rately...*[\[\~\
1f00: 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
1f10: 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
1f20: 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61 72 67  *|*]*|"")..  arg
1f30: 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20 20 3b  ="\"$arg\""..  ;
1f40: 3b 0a 09 65 73 61 63 0a 0a 09 23 20 41 64 64 20  ;..esac...# Add 
1f50: 74 68 65 20 70 72 65 76 69 6f 75 73 20 61 72 67  the previous arg
1f60: 75 6d 65 6e 74 20 74 6f 20 62 61 73 65 5f 63 6f  ument to base_co
1f70: 6d 70 69 6c 65 2e 0a 09 69 66 20 74 65 73 74 20  mpile...if test 
1f80: 2d 7a 20 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c  -z "$base_compil
1f90: 65 22 3b 20 74 68 65 6e 0a 09 20 20 62 61 73 65  e"; then..  base
1fa0: 5f 63 6f 6d 70 69 6c 65 3d 22 24 6c 61 73 74 61  _compile="$lasta
1fb0: 72 67 22 0a 09 65 6c 73 65 0a 09 20 20 62 61 73  rg"..else..  bas
1fc0: 65 5f 63 6f 6d 70 69 6c 65 3d 22 24 62 61 73 65  e_compile="$base
1fd0: 5f 63 6f 6d 70 69 6c 65 20 24 6c 61 73 74 61 72  _compile $lastar
1fe0: 67 22 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65  g"..fi..continue
1ff0: 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
2000: 0a 20 20 20 20 20 20 23 20 41 63 63 65 70 74 20  .      # Accept 
2010: 61 6e 79 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65  any command-line
2020: 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20   options..      
2030: 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20  case $arg in.   
2040: 20 20 20 2d 6f 29 0a 09 69 66 20 74 65 73 74 20     -o)..if test 
2050: 22 24 75 73 65 72 5f 74 61 72 67 65 74 22 20 21  "$user_target" !
2060: 3d 20 22 6e 6f 22 3b 20 74 68 65 6e 0a 09 20 20  = "no"; then..  
2070: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
2080: 3a 20 79 6f 75 20 63 61 6e 6e 6f 74 20 73 70 65  : you cannot spe
2090: 63 69 66 79 20 5c 60 2d 6f 27 20 6d 6f 72 65 20  cify \`-o' more 
20a0: 74 68 61 6e 20 6f 6e 63 65 22 20 31 3e 26 32 0a  than once" 1>&2.
20b0: 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a 09 75  .  exit 1..fi..u
20c0: 73 65 72 5f 74 61 72 67 65 74 3d 6e 65 78 74 0a  ser_target=next.
20d0: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 73 74 61 74  .;;..      -stat
20e0: 69 63 29 0a 09 62 75 69 6c 64 5f 6f 6c 64 5f 6c  ic)..build_old_l
20f0: 69 62 73 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75  ibs=yes..continu
2100: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 70 72  e..;;..      -pr
2110: 65 66 65 72 2d 70 69 63 29 0a 09 70 69 63 5f 6d  efer-pic)..pic_m
2120: 6f 64 65 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75  ode=yes..continu
2130: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 70 72  e..;;..      -pr
2140: 65 66 65 72 2d 6e 6f 6e 2d 70 69 63 29 0a 09 70  efer-non-pic)..p
2150: 69 63 5f 6d 6f 64 65 3d 6e 6f 0a 09 63 6f 6e 74  ic_mode=no..cont
2160: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  inue..;;..      
2170: 2d 58 63 6f 6d 70 69 6c 65 72 29 0a 09 70 72 65  -Xcompiler)..pre
2180: 76 3d 78 63 6f 6d 70 69 6c 65 72 0a 09 63 6f 6e  v=xcompiler..con
2190: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
21a0: 20 2d 57 63 2c 2a 29 0a 09 61 72 67 73 3d 60 24   -Wc,*)..args=`$
21b0: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
21c0: 58 73 65 64 20 2d 65 20 22 73 2f 5e 2d 57 63 2c  Xsed -e "s/^-Wc,
21d0: 2f 2f 22 60 0a 09 6c 61 73 74 61 72 67 3d 0a 09  //"`..lastarg=..
21e0: 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b  save_ifs="$IFS";
21f0: 20 49 46 53 3d 27 2c 27 0a 09 66 6f 72 20 61 72   IFS=','..for ar
2200: 67 20 69 6e 20 24 61 72 67 73 3b 20 64 6f 0a 09  g in $args; do..
2210: 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73    IFS="$save_ifs
2220: 22 0a 0a 09 20 20 23 20 44 6f 75 62 6c 65 2d 71  "...  # Double-q
2230: 75 6f 74 65 20 61 72 67 73 20 63 6f 6e 74 61 69  uote args contai
2240: 6e 69 6e 67 20 6f 74 68 65 72 20 73 68 65 6c 6c  ning other shell
2250: 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 2e   metacharacters.
2260: 0a 09 20 20 23 20 4d 61 6e 79 20 42 6f 75 72 6e  ..  # Many Bourn
2270: 65 20 73 68 65 6c 6c 73 20 63 61 6e 6e 6f 74 20  e shells cannot 
2280: 68 61 6e 64 6c 65 20 63 6c 6f 73 65 20 62 72 61  handle close bra
2290: 63 6b 65 74 73 20 63 6f 72 72 65 63 74 6c 79 0a  ckets correctly.
22a0: 09 20 20 23 20 69 6e 20 73 63 61 6e 20 73 65 74  .  # in scan set
22b0: 73 2c 20 73 6f 20 77 65 20 73 70 65 63 69 66 79  s, so we specify
22c0: 20 69 74 20 73 65 70 61 72 61 74 65 6c 79 2e 0a   it separately..
22d0: 09 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a  .  case $arg in.
22e0: 09 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c  .    *[\[\~\#\^\
22f0: 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c  &\*\(\)\{\}\|\;\
2300: 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d  <\>\?\'\ \.]*|*]
2310: 2a 7c 22 22 29 0a 09 20 20 20 20 61 72 67 3d 22  *|"")..    arg="
2320: 5c 22 24 61 72 67 5c 22 22 0a 09 20 20 20 20 3b  \"$arg\""..    ;
2330: 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 6c 61 73  ;..  esac..  las
2340: 74 61 72 67 3d 22 24 6c 61 73 74 61 72 67 20 24  targ="$lastarg $
2350: 61 72 67 22 0a 09 64 6f 6e 65 0a 09 49 46 53 3d  arg"..done..IFS=
2360: 22 24 73 61 76 65 5f 69 66 73 22 0a 09 6c 61 73  "$save_ifs"..las
2370: 74 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 6c  targ=`$echo "X$l
2380: 61 73 74 61 72 67 22 20 7c 20 24 58 73 65 64 20  astarg" | $Xsed 
2390: 2d 65 20 22 73 2f 5e 20 2f 2f 22 60 0a 0a 09 23  -e "s/^ //"`...#
23a0: 20 41 64 64 20 74 68 65 20 61 72 67 75 6d 65 6e   Add the argumen
23b0: 74 73 20 74 6f 20 62 61 73 65 5f 63 6f 6d 70 69  ts to base_compi
23c0: 6c 65 2e 0a 09 69 66 20 74 65 73 74 20 2d 7a 20  le...if test -z 
23d0: 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b  "$base_compile";
23e0: 20 74 68 65 6e 0a 09 20 20 62 61 73 65 5f 63 6f   then..  base_co
23f0: 6d 70 69 6c 65 3d 22 24 6c 61 73 74 61 72 67 22  mpile="$lastarg"
2400: 0a 09 65 6c 73 65 0a 09 20 20 62 61 73 65 5f 63  ..else..  base_c
2410: 6f 6d 70 69 6c 65 3d 22 24 62 61 73 65 5f 63 6f  ompile="$base_co
2420: 6d 70 69 6c 65 20 24 6c 61 73 74 61 72 67 22 0a  mpile $lastarg".
2430: 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b  .fi..continue..;
2440: 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20  ;.      esac..  
2450: 20 20 20 20 63 61 73 65 20 24 75 73 65 72 5f 74      case $user_t
2460: 61 72 67 65 74 20 69 6e 0a 20 20 20 20 20 20 6e  arget in.      n
2470: 65 78 74 29 0a 09 23 20 54 68 65 20 6e 65 78 74  ext)..# The next
2480: 20 6f 6e 65 20 69 73 20 74 68 65 20 2d 6f 20 74   one is the -o t
2490: 61 72 67 65 74 20 6e 61 6d 65 0a 09 75 73 65 72  arget name..user
24a0: 5f 74 61 72 67 65 74 3d 79 65 73 0a 09 63 6f 6e  _target=yes..con
24b0: 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20  tinue..;;.      
24c0: 79 65 73 29 0a 09 23 20 57 65 20 67 6f 74 20 74  yes)..# We got t
24d0: 68 65 20 6f 75 74 70 75 74 20 66 69 6c 65 0a 09  he output file..
24e0: 75 73 65 72 5f 74 61 72 67 65 74 3d 73 65 74 0a  user_target=set.
24f0: 09 6c 69 62 6f 62 6a 3d 22 24 61 72 67 22 0a 09  .libobj="$arg"..
2500: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20  continue..;;.   
2510: 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 23     esac..      #
2520: 20 41 63 63 65 70 74 20 74 68 65 20 63 75 72 72   Accept the curr
2530: 65 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20  ent argument as 
2540: 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e  the source file.
2550: 0a 20 20 20 20 20 20 6c 61 73 74 61 72 67 3d 22  .      lastarg="
2560: 24 73 72 63 66 69 6c 65 22 0a 20 20 20 20 20 20  $srcfile".      
2570: 73 72 63 66 69 6c 65 3d 22 24 61 72 67 22 0a 0a  srcfile="$arg"..
2580: 20 20 20 20 20 20 23 20 41 65 73 74 68 65 74 69        # Aestheti
2590: 63 61 6c 6c 79 20 71 75 6f 74 65 20 74 68 65 20  cally quote the 
25a0: 70 72 65 76 69 6f 75 73 20 61 72 67 75 6d 65 6e  previous argumen
25b0: 74 2e 0a 0a 20 20 20 20 20 20 23 20 42 61 63 6b  t...      # Back
25c0: 73 6c 61 73 68 69 66 79 20 61 6e 79 20 62 61 63  slashify any bac
25d0: 6b 73 6c 61 73 68 65 73 2c 20 64 6f 75 62 6c 65  kslashes, double
25e0: 20 71 75 6f 74 65 73 2c 20 61 6e 64 20 64 6f 6c   quotes, and dol
25f0: 6c 61 72 20 73 69 67 6e 73 2e 0a 20 20 20 20 20  lar signs..     
2600: 20 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65   # These are the
2610: 20 6f 6e 6c 79 20 63 68 61 72 61 63 74 65 72 73   only characters
2620: 20 74 68 61 74 20 61 72 65 20 73 74 69 6c 6c 20   that are still 
2630: 73 70 65 63 69 61 6c 6c 79 0a 20 20 20 20 20 20  specially.      
2640: 23 20 69 6e 74 65 72 70 72 65 74 65 64 20 69 6e  # interpreted in
2650: 73 69 64 65 20 6f 66 20 64 6f 75 62 6c 65 2d 71  side of double-q
2660: 75 6f 74 65 64 20 73 63 72 69 6e 67 73 2e 0a 20  uoted scrings.. 
2670: 20 20 20 20 20 6c 61 73 74 61 72 67 3d 60 24 65       lastarg=`$e
2680: 63 68 6f 20 22 58 24 6c 61 73 74 61 72 67 22 20  cho "X$lastarg" 
2690: 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
26a0: 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a  _quote_subst"`..
26b0: 20 20 20 20 20 20 23 20 44 6f 75 62 6c 65 2d 71        # Double-q
26c0: 75 6f 74 65 20 61 72 67 73 20 63 6f 6e 74 61 69  uote args contai
26d0: 6e 69 6e 67 20 6f 74 68 65 72 20 73 68 65 6c 6c  ning other shell
26e0: 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 2e   metacharacters.
26f0: 0a 20 20 20 20 20 20 23 20 4d 61 6e 79 20 42 6f  .      # Many Bo
2700: 75 72 6e 65 20 73 68 65 6c 6c 73 20 63 61 6e 6e  urne shells cann
2710: 6f 74 20 68 61 6e 64 6c 65 20 63 6c 6f 73 65 20  ot handle close 
2720: 62 72 61 63 6b 65 74 73 20 63 6f 72 72 65 63 74  brackets correct
2730: 6c 79 0a 20 20 20 20 20 20 23 20 69 6e 20 73 63  ly.      # in sc
2740: 61 6e 20 73 65 74 73 2c 20 73 6f 20 77 65 20 73  an sets, so we s
2750: 70 65 63 69 66 79 20 69 74 20 73 65 70 61 72 61  pecify it separa
2760: 74 65 6c 79 2e 0a 20 20 20 20 20 20 63 61 73 65  tely..      case
2770: 20 24 6c 61 73 74 61 72 67 20 69 6e 0a 20 20 20   $lastarg in.   
2780: 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c     *[\[\~\#\^\&\
2790: 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c  *\(\)\{\}\|\;\<\
27a0: 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c  >\?\'\ \.]*|*]*|
27b0: 22 22 29 0a 09 6c 61 73 74 61 72 67 3d 22 5c 22  "")..lastarg="\"
27c0: 24 6c 61 73 74 61 72 67 5c 22 22 0a 09 3b 3b 0a  $lastarg\""..;;.
27d0: 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20        esac..    
27e0: 20 20 23 20 41 64 64 20 74 68 65 20 70 72 65 76    # Add the prev
27f0: 69 6f 75 73 20 61 72 67 75 6d 65 6e 74 20 74 6f  ious argument to
2800: 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 2e 0a 20   base_compile.. 
2810: 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20       if test -z 
2820: 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b  "$base_compile";
2830: 20 74 68 65 6e 0a 09 62 61 73 65 5f 63 6f 6d 70   then..base_comp
2840: 69 6c 65 3d 22 24 6c 61 73 74 61 72 67 22 0a 20  ile="$lastarg". 
2850: 20 20 20 20 20 65 6c 73 65 0a 09 62 61 73 65 5f       else..base_
2860: 63 6f 6d 70 69 6c 65 3d 22 24 62 61 73 65 5f 63  compile="$base_c
2870: 6f 6d 70 69 6c 65 20 24 6c 61 73 74 61 72 67 22  ompile $lastarg"
2880: 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 64 6f  .      fi.    do
2890: 6e 65 0a 0a 20 20 20 20 63 61 73 65 20 24 75 73  ne..    case $us
28a0: 65 72 5f 74 61 72 67 65 74 20 69 6e 0a 20 20 20  er_target in.   
28b0: 20 73 65 74 29 0a 20 20 20 20 20 20 3b 3b 0a 20   set).      ;;. 
28c0: 20 20 20 6e 6f 29 0a 20 20 20 20 20 20 23 20 47     no).      # G
28d0: 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  et the name of t
28e0: 68 65 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63  he library objec
28f0: 74 2e 0a 20 20 20 20 20 20 6c 69 62 6f 62 6a 3d  t..      libobj=
2900: 60 24 65 63 68 6f 20 22 58 24 73 72 63 66 69 6c  `$echo "X$srcfil
2910: 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  e" | $Xsed -e 's
2920: 25 5e 2e 2a 2f 25 25 27 60 0a 20 20 20 20 20 20  %^.*/%%'`.      
2930: 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20  ;;.    *).      
2940: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
2950: 3a 20 79 6f 75 20 6d 75 73 74 20 73 70 65 63 69  : you must speci
2960: 66 79 20 61 20 74 61 72 67 65 74 20 77 69 74 68  fy a target with
2970: 20 5c 60 2d 6f 27 22 20 31 3e 26 32 0a 20 20 20   \`-o'" 1>&2.   
2980: 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 20 20     exit 1.      
2990: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 0a 20 20 20  ;;.    esac..   
29a0: 20 23 20 52 65 63 6f 67 6e 69 7a 65 20 73 65 76   # Recognize sev
29b0: 65 72 61 6c 20 64 69 66 66 65 72 65 6e 74 20 66  eral different f
29c0: 69 6c 65 20 73 75 66 66 69 78 65 73 2e 0a 20 20  ile suffixes..  
29d0: 20 20 23 20 49 66 20 74 68 65 20 75 73 65 72 20    # If the user 
29e0: 73 70 65 63 69 66 69 65 73 20 2d 6f 20 66 69 6c  specifies -o fil
29f0: 65 2e 6f 2c 20 69 74 20 69 73 20 72 65 70 6c 61  e.o, it is repla
2a00: 63 65 64 20 77 69 74 68 20 66 69 6c 65 2e 6c 6f  ced with file.lo
2a10: 0a 20 20 20 20 78 66 6f 72 6d 3d 27 5b 63 43 46  .    xform='[cCF
2a20: 53 66 6d 73 6f 5d 27 0a 20 20 20 20 63 61 73 65  Sfmso]'.    case
2a30: 20 24 6c 69 62 6f 62 6a 20 69 6e 0a 20 20 20 20   $libobj in.    
2a40: 2a 2e 61 64 61 29 20 78 66 6f 72 6d 3d 61 64 61  *.ada) xform=ada
2a50: 20 3b 3b 0a 20 20 20 20 2a 2e 61 64 62 29 20 78   ;;.    *.adb) x
2a60: 66 6f 72 6d 3d 61 64 62 20 3b 3b 0a 20 20 20 20  form=adb ;;.    
2a70: 2a 2e 61 64 73 29 20 78 66 6f 72 6d 3d 61 64 73  *.ads) xform=ads
2a80: 20 3b 3b 0a 20 20 20 20 2a 2e 61 73 6d 29 20 78   ;;.    *.asm) x
2a90: 66 6f 72 6d 3d 61 73 6d 20 3b 3b 0a 20 20 20 20  form=asm ;;.    
2aa0: 2a 2e 63 2b 2b 29 20 78 66 6f 72 6d 3d 63 2b 2b  *.c++) xform=c++
2ab0: 20 3b 3b 0a 20 20 20 20 2a 2e 63 63 29 20 78 66   ;;.    *.cc) xf
2ac0: 6f 72 6d 3d 63 63 20 3b 3b 0a 20 20 20 20 2a 2e  orm=cc ;;.    *.
2ad0: 63 70 70 29 20 78 66 6f 72 6d 3d 63 70 70 20 3b  cpp) xform=cpp ;
2ae0: 3b 0a 20 20 20 20 2a 2e 63 78 78 29 20 78 66 6f  ;.    *.cxx) xfo
2af0: 72 6d 3d 63 78 78 20 3b 3b 0a 20 20 20 20 2a 2e  rm=cxx ;;.    *.
2b00: 66 39 30 29 20 78 66 6f 72 6d 3d 66 39 30 20 3b  f90) xform=f90 ;
2b10: 3b 0a 20 20 20 20 2a 2e 66 6f 72 29 20 78 66 6f  ;.    *.for) xfo
2b20: 72 6d 3d 66 6f 72 20 3b 3b 0a 20 20 20 20 65 73  rm=for ;;.    es
2b30: 61 63 0a 0a 20 20 20 20 6c 69 62 6f 62 6a 3d 60  ac..    libobj=`
2b40: 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22  $echo "X$libobj"
2b50: 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 2f 5c   | $Xsed -e "s/\
2b60: 2e 24 78 66 6f 72 6d 24 2f 2e 6c 6f 2f 22 60 0a  .$xform$/.lo/"`.
2b70: 0a 20 20 20 20 63 61 73 65 20 24 6c 69 62 6f 62  .    case $libob
2b80: 6a 20 69 6e 0a 20 20 20 20 2a 2e 6c 6f 29 20 6f  j in.    *.lo) o
2b90: 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62  bj=`$echo "X$lib
2ba0: 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20  obj" | $Xsed -e 
2bb0: 22 24 6c 6f 32 6f 22 60 20 3b 3b 0a 20 20 20 20  "$lo2o"` ;;.    
2bc0: 2a 29 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  *).      $echo "
2bd0: 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f  $modename: canno
2be0: 74 20 64 65 74 65 72 6d 69 6e 65 20 6e 61 6d 65  t determine name
2bf0: 20 6f 66 20 6c 69 62 72 61 72 79 20 6f 62 6a 65   of library obje
2c00: 63 74 20 66 72 6f 6d 20 5c 60 24 6c 69 62 6f 62  ct from \`$libob
2c10: 6a 27 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65  j'" 1>&2.      e
2c20: 78 69 74 20 31 0a 20 20 20 20 20 20 3b 3b 0a 20  xit 1.      ;;. 
2c30: 20 20 20 65 73 61 63 0a 0a 20 20 20 20 69 66 20     esac..    if 
2c40: 74 65 73 74 20 2d 7a 20 22 24 62 61 73 65 5f 63  test -z "$base_c
2c50: 6f 6d 70 69 6c 65 22 3b 20 74 68 65 6e 0a 20 20  ompile"; then.  
2c60: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
2c70: 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73  name: you must s
2c80: 70 65 63 69 66 79 20 61 20 63 6f 6d 70 69 6c 61  pecify a compila
2c90: 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 22 20 31 3e  tion command" 1>
2ca0: 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  &2.      $echo "
2cb0: 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20  $help" 1>&2.    
2cc0: 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a    exit 1.    fi.
2cd0: 0a 20 20 20 20 23 20 44 65 6c 65 74 65 20 61 6e  .    # Delete an
2ce0: 79 20 6c 65 66 74 6f 76 65 72 20 6c 69 62 72 61  y leftover libra
2cf0: 72 79 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20  ry objects..    
2d00: 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
2d10: 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b  old_libs" = yes;
2d20: 20 74 68 65 6e 0a 20 20 20 20 20 20 72 65 6d 6f   then.      remo
2d30: 76 65 6c 69 73 74 3d 22 24 6f 62 6a 20 24 6c 69  velist="$obj $li
2d40: 62 6f 62 6a 22 0a 20 20 20 20 65 6c 73 65 0a 20  bobj".    else. 
2d50: 20 20 20 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d       removelist=
2d60: 22 24 6c 69 62 6f 62 6a 22 0a 20 20 20 20 66 69  "$libobj".    fi
2d70: 0a 0a 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24  ..    $run $rm $
2d80: 72 65 6d 6f 76 65 6c 69 73 74 0a 20 20 20 20 74  removelist.    t
2d90: 72 61 70 20 22 24 72 75 6e 20 24 72 6d 20 24 72  rap "$run $rm $r
2da0: 65 6d 6f 76 65 6c 69 73 74 3b 20 65 78 69 74 20  emovelist; exit 
2db0: 31 22 20 31 20 32 20 31 35 0a 0a 20 20 20 20 23  1" 1 2 15..    #
2dc0: 20 4f 6e 20 43 79 67 77 69 6e 20 74 68 65 72 65   On Cygwin there
2dd0: 27 73 20 6e 6f 20 22 72 65 61 6c 22 20 50 49 43  's no "real" PIC
2de0: 20 66 6c 61 67 20 73 6f 20 77 65 20 6d 75 73 74   flag so we must
2df0: 20 62 75 69 6c 64 20 62 6f 74 68 20 6f 62 6a 65   build both obje
2e00: 63 74 20 74 79 70 65 73 0a 20 20 20 20 63 61 73  ct types.    cas
2e10: 65 20 24 68 6f 73 74 5f 6f 73 20 69 6e 0a 20 20  e $host_os in.  
2e20: 20 20 63 79 67 77 69 6e 2a 20 7c 20 6d 69 6e 67    cygwin* | ming
2e30: 77 2a 20 7c 20 70 77 33 32 2a 20 7c 20 6f 73 32  w* | pw32* | os2
2e40: 2a 29 0a 20 20 20 20 20 20 70 69 63 5f 6d 6f 64  *).      pic_mod
2e50: 65 3d 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20  e=default.      
2e60: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 20 20  ;;.    esac.    
2e70: 69 66 20 74 65 73 74 20 22 24 70 69 63 5f 6d 6f  if test "$pic_mo
2e80: 64 65 22 20 3d 20 6e 6f 20 26 26 20 74 65 73 74  de" = no && test
2e90: 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b   "$deplibs_check
2ea0: 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73 73  _method" != pass
2eb0: 5f 61 6c 6c 3b 20 74 68 65 6e 0a 20 20 20 20 20  _all; then.     
2ec0: 20 23 20 6e 6f 6e 2d 50 49 43 20 63 6f 64 65 20   # non-PIC code 
2ed0: 69 6e 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  in shared librar
2ee0: 69 65 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f  ies is not suppo
2ef0: 72 74 65 64 0a 20 20 20 20 20 20 70 69 63 5f 6d  rted.      pic_m
2f00: 6f 64 65 3d 64 65 66 61 75 6c 74 0a 20 20 20 20  ode=default.    
2f10: 66 69 0a 0a 20 20 20 20 23 20 43 61 6c 63 75 6c  fi..    # Calcul
2f20: 61 74 65 20 74 68 65 20 66 69 6c 65 6e 61 6d 65  ate the filename
2f30: 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20 6f   of the output o
2f40: 62 6a 65 63 74 20 69 66 20 63 6f 6d 70 69 6c 65  bject if compile
2f50: 72 20 64 6f 65 73 0a 20 20 20 20 23 20 6e 6f 74  r does.    # not
2f60: 20 73 75 70 70 6f 72 74 20 2d 6f 20 77 69 74 68   support -o with
2f70: 20 2d 63 0a 20 20 20 20 69 66 20 74 65 73 74 20   -c.    if test 
2f80: 22 24 63 6f 6d 70 69 6c 65 72 5f 63 5f 6f 22 20  "$compiler_c_o" 
2f90: 3d 20 6e 6f 3b 20 74 68 65 6e 0a 20 20 20 20 20  = no; then.     
2fa0: 20 6f 75 74 70 75 74 5f 6f 62 6a 3d 60 24 65 63   output_obj=`$ec
2fb0: 68 6f 20 22 58 24 73 72 63 66 69 6c 65 22 20 7c  ho "X$srcfile" |
2fc0: 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
2fd0: 2f 25 25 27 20 2d 65 20 27 73 25 5c 2e 5b 5e 2e  /%%' -e 's%\.[^.
2fe0: 5d 2a 24 25 25 27 60 2e 24 7b 6f 62 6a 65 78 74  ]*$%%'`.${objext
2ff0: 7d 0a 20 20 20 20 20 20 6c 6f 63 6b 66 69 6c 65  }.      lockfile
3000: 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 2e 6c 6f  ="$output_obj.lo
3010: 63 6b 22 0a 20 20 20 20 20 20 72 65 6d 6f 76 65  ck".      remove
3020: 6c 69 73 74 3d 22 24 72 65 6d 6f 76 65 6c 69 73  list="$removelis
3030: 74 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24 6c  t $output_obj $l
3040: 6f 63 6b 66 69 6c 65 22 0a 20 20 20 20 20 20 74  ockfile".      t
3050: 72 61 70 20 22 24 72 75 6e 20 24 72 6d 20 24 72  rap "$run $rm $r
3060: 65 6d 6f 76 65 6c 69 73 74 3b 20 65 78 69 74 20  emovelist; exit 
3070: 31 22 20 31 20 32 20 31 35 0a 20 20 20 20 65 6c  1" 1 2 15.    el
3080: 73 65 0a 20 20 20 20 20 20 6e 65 65 64 5f 6c 6f  se.      need_lo
3090: 63 6b 73 3d 6e 6f 0a 20 20 20 20 20 20 6c 6f 63  cks=no.      loc
30a0: 6b 66 69 6c 65 3d 0a 20 20 20 20 66 69 0a 0a 20  kfile=.    fi.. 
30b0: 20 20 20 23 20 4c 6f 63 6b 20 74 68 69 73 20 63     # Lock this c
30c0: 72 69 74 69 63 61 6c 20 73 65 63 74 69 6f 6e 20  ritical section 
30d0: 69 66 20 69 74 20 69 73 20 6e 65 65 64 65 64 0a  if it is needed.
30e0: 20 20 20 20 23 20 57 65 20 75 73 65 20 74 68 69      # We use thi
30f0: 73 20 73 63 72 69 70 74 20 66 69 6c 65 20 74 6f  s script file to
3100: 20 6d 61 6b 65 20 74 68 65 20 6c 69 6e 6b 2c 20   make the link, 
3110: 69 74 20 61 76 6f 69 64 73 20 63 72 65 61 74 69  it avoids creati
3120: 6e 67 20 61 20 6e 65 77 20 66 69 6c 65 0a 20 20  ng a new file.  
3130: 20 20 69 66 20 74 65 73 74 20 22 24 6e 65 65 64    if test "$need
3140: 5f 6c 6f 63 6b 73 22 20 3d 20 79 65 73 3b 20 74  _locks" = yes; t
3150: 68 65 6e 0a 20 20 20 20 20 20 75 6e 74 69 6c 20  hen.      until 
3160: 24 72 75 6e 20 6c 6e 20 22 24 30 22 20 22 24 6c  $run ln "$0" "$l
3170: 6f 63 6b 66 69 6c 65 22 20 32 3e 2f 64 65 76 2f  ockfile" 2>/dev/
3180: 6e 75 6c 6c 3b 20 64 6f 0a 09 24 73 68 6f 77 20  null; do..$show 
3190: 22 57 61 69 74 69 6e 67 20 66 6f 72 20 24 6c 6f  "Waiting for $lo
31a0: 63 6b 66 69 6c 65 20 74 6f 20 62 65 20 72 65 6d  ckfile to be rem
31b0: 6f 76 65 64 22 0a 09 73 6c 65 65 70 20 32 0a 20  oved"..sleep 2. 
31c0: 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 65 6c       done.    el
31d0: 69 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f 6c  if test "$need_l
31e0: 6f 63 6b 73 22 20 3d 20 77 61 72 6e 3b 20 74 68  ocks" = warn; th
31f0: 65 6e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  en.      if test
3200: 20 2d 66 20 22 24 6c 6f 63 6b 66 69 6c 65 22 3b   -f "$lockfile";
3210: 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 5c 0a 2a   then..echo "\.*
3220: 2a 2a 20 45 52 52 4f 52 2c 20 24 6c 6f 63 6b 66  ** ERROR, $lockf
3230: 69 6c 65 20 65 78 69 73 74 73 20 61 6e 64 20 63  ile exists and c
3240: 6f 6e 74 61 69 6e 73 3a 0a 60 63 61 74 20 24 6c  ontains:.`cat $l
3250: 6f 63 6b 66 69 6c 65 20 32 3e 2f 64 65 76 2f 6e  ockfile 2>/dev/n
3260: 75 6c 6c 60 0a 0a 54 68 69 73 20 69 6e 64 69 63  ull`..This indic
3270: 61 74 65 73 20 74 68 61 74 20 61 6e 6f 74 68 65  ates that anothe
3280: 72 20 70 72 6f 63 65 73 73 20 69 73 20 74 72 79  r process is try
3290: 69 6e 67 20 74 6f 20 75 73 65 20 74 68 65 20 73  ing to use the s
32a0: 61 6d 65 0a 74 65 6d 70 6f 72 61 72 79 20 6f 62  ame.temporary ob
32b0: 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6c  ject file, and l
32c0: 69 62 74 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f 74  ibtool could not
32d0: 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 69 74 20   work around it 
32e0: 62 65 63 61 75 73 65 0a 79 6f 75 72 20 63 6f 6d  because.your com
32f0: 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 73  piler does not s
3300: 75 70 70 6f 72 74 20 5c 60 2d 63 27 20 61 6e 64  upport \`-c' and
3310: 20 5c 60 2d 6f 27 20 74 6f 67 65 74 68 65 72 2e   \`-o' together.
3320: 20 20 49 66 20 79 6f 75 0a 72 65 70 65 61 74 20    If you.repeat 
3330: 74 68 69 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e  this compilation
3340: 2c 20 69 74 20 6d 61 79 20 73 75 63 63 65 65 64  , it may succeed
3350: 2c 20 62 79 20 63 68 61 6e 63 65 2c 20 62 75 74  , by chance, but
3360: 20 79 6f 75 20 68 61 64 20 62 65 74 74 65 72 0a   you had better.
3370: 61 76 6f 69 64 20 70 61 72 61 6c 6c 65 6c 20 62  avoid parallel b
3380: 75 69 6c 64 73 20 28 6d 61 6b 65 20 2d 6a 29 20  uilds (make -j) 
3390: 69 6e 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d  in this platform
33a0: 2c 20 6f 72 20 67 65 74 20 61 20 62 65 74 74 65  , or get a bette
33b0: 72 0a 63 6f 6d 70 69 6c 65 72 2e 22 0a 0a 09 24  r.compiler."...$
33c0: 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c  run $rm $removel
33d0: 69 73 74 0a 09 65 78 69 74 20 31 0a 20 20 20 20  ist..exit 1.    
33e0: 20 20 66 69 0a 20 20 20 20 20 20 65 63 68 6f 20    fi.      echo 
33f0: 24 73 72 63 66 69 6c 65 20 3e 20 22 24 6c 6f 63  $srcfile > "$loc
3400: 6b 66 69 6c 65 22 0a 20 20 20 20 66 69 0a 0a 20  kfile".    fi.. 
3410: 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
3420: 66 69 78 5f 73 72 63 66 69 6c 65 5f 70 61 74 68  fix_srcfile_path
3430: 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65 76  "; then.      ev
3440: 61 6c 20 73 72 63 66 69 6c 65 3d 5c 22 24 66 69  al srcfile=\"$fi
3450: 78 5f 73 72 63 66 69 6c 65 5f 70 61 74 68 5c 22  x_srcfile_path\"
3460: 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 4f  .    fi..    # O
3470: 6e 6c 79 20 62 75 69 6c 64 20 61 20 50 49 43 20  nly build a PIC 
3480: 6f 62 6a 65 63 74 20 69 66 20 77 65 20 61 72 65  object if we are
3490: 20 62 75 69 6c 64 69 6e 67 20 6c 69 62 74 6f 6f   building libtoo
34a0: 6c 20 6c 69 62 72 61 72 69 65 73 2e 0a 20 20 20  l libraries..   
34b0: 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64   if test "$build
34c0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
34d0: 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20   yes; then.     
34e0: 20 23 20 57 69 74 68 6f 75 74 20 74 68 69 73 20   # Without this 
34f0: 61 73 73 69 67 6e 6d 65 6e 74 2c 20 62 61 73 65  assignment, base
3500: 5f 63 6f 6d 70 69 6c 65 20 67 65 74 73 20 65 6d  _compile gets em
3510: 70 74 69 65 64 2e 0a 20 20 20 20 20 20 66 62 73  ptied..      fbs
3520: 64 5f 68 69 64 65 6f 75 73 5f 73 68 5f 62 75 67  d_hideous_sh_bug
3530: 3d 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65 0a 0a  =$base_compile..
3540: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
3550: 70 69 63 5f 6d 6f 64 65 22 20 21 3d 20 6e 6f 3b  pic_mode" != no;
3560: 20 74 68 65 6e 0a 09 23 20 41 6c 6c 20 70 6c 61   then..# All pla
3570: 74 66 6f 72 6d 73 20 75 73 65 20 2d 44 50 49 43  tforms use -DPIC
3580: 2c 20 74 6f 20 6e 6f 74 69 66 79 20 70 72 65 70  , to notify prep
3590: 72 6f 63 65 73 73 65 64 20 61 73 73 65 6d 62 6c  rocessed assembl
35a0: 65 72 20 63 6f 64 65 2e 0a 09 63 6f 6d 6d 61 6e  er code...comman
35b0: 64 3d 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c 65  d="$base_compile
35c0: 20 24 73 72 63 66 69 6c 65 20 24 70 69 63 5f 66   $srcfile $pic_f
35d0: 6c 61 67 20 2d 44 50 49 43 22 0a 20 20 20 20 20  lag -DPIC".     
35e0: 20 65 6c 73 65 0a 09 23 20 44 6f 6e 27 74 20 62   else..# Don't b
35f0: 75 69 6c 64 20 50 49 43 20 63 6f 64 65 0a 09 63  uild PIC code..c
3600: 6f 6d 6d 61 6e 64 3d 22 24 62 61 73 65 5f 63 6f  ommand="$base_co
3610: 6d 70 69 6c 65 20 24 73 72 63 66 69 6c 65 22 0a  mpile $srcfile".
3620: 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 69        fi.      i
3630: 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f  f test "$build_o
3640: 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ld_libs" = yes; 
3650: 74 68 65 6e 0a 09 6c 6f 5f 6c 69 62 6f 62 6a 3d  then..lo_libobj=
3660: 22 24 6c 69 62 6f 62 6a 22 0a 09 64 69 72 3d 60  "$libobj"..dir=`
3670: 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22  $echo "X$libobj"
3680: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f   | $Xsed -e 's%/
3690: 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 69 66 20 74  [^/]*$%%'`..if t
36a0: 65 73 74 20 22 58 24 64 69 72 22 20 3d 20 22 58  est "X$dir" = "X
36b0: 24 6c 69 62 6f 62 6a 22 3b 20 74 68 65 6e 0a 09  $libobj"; then..
36c0: 20 20 64 69 72 3d 22 24 6f 62 6a 64 69 72 22 0a    dir="$objdir".
36d0: 09 65 6c 73 65 0a 09 20 20 64 69 72 3d 22 24 64  .else..  dir="$d
36e0: 69 72 2f 24 6f 62 6a 64 69 72 22 0a 09 66 69 0a  ir/$objdir"..fi.
36f0: 09 6c 69 62 6f 62 6a 3d 22 24 64 69 72 2f 22 60  .libobj="$dir/"`
3700: 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22  $echo "X$libobj"
3710: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
3720: 2e 2a 2f 25 25 27 60 0a 0a 09 69 66 20 74 65 73  .*/%%'`...if tes
3730: 74 20 2d 64 20 22 24 64 69 72 22 3b 20 74 68 65  t -d "$dir"; the
3740: 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 72 6d 20  n..  $show "$rm 
3750: 24 6c 69 62 6f 62 6a 22 0a 09 20 20 24 72 75 6e  $libobj"..  $run
3760: 20 24 72 6d 20 24 6c 69 62 6f 62 6a 0a 09 65 6c   $rm $libobj..el
3770: 73 65 0a 09 20 20 24 73 68 6f 77 20 22 24 6d 6b  se..  $show "$mk
3780: 64 69 72 20 24 64 69 72 22 0a 09 20 20 24 72 75  dir $dir"..  $ru
3790: 6e 20 24 6d 6b 64 69 72 20 24 64 69 72 0a 09 20  n $mkdir $dir.. 
37a0: 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 69 66   status=$?..  if
37b0: 20 74 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e   test $status -n
37c0: 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64  e 0 && test ! -d
37d0: 20 24 64 69 72 3b 20 74 68 65 6e 0a 09 20 20 20   $dir; then..   
37e0: 20 65 78 69 74 20 24 73 74 61 74 75 73 0a 09 20   exit $status.. 
37f0: 20 66 69 0a 09 66 69 0a 20 20 20 20 20 20 66 69   fi..fi.      fi
3800: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
3810: 24 63 6f 6d 70 69 6c 65 72 5f 6f 5f 6c 6f 22 20  $compiler_o_lo" 
3820: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 6f 75 74  = yes; then..out
3830: 70 75 74 5f 6f 62 6a 3d 22 24 6c 69 62 6f 62 6a  put_obj="$libobj
3840: 22 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d  "..command="$com
3850: 6d 61 6e 64 20 2d 6f 20 24 6f 75 74 70 75 74 5f  mand -o $output_
3860: 6f 62 6a 22 0a 20 20 20 20 20 20 65 6c 69 66 20  obj".      elif 
3870: 74 65 73 74 20 22 24 63 6f 6d 70 69 6c 65 72 5f  test "$compiler_
3880: 63 5f 6f 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  c_o" = yes; then
3890: 0a 09 6f 75 74 70 75 74 5f 6f 62 6a 3d 22 24 6f  ..output_obj="$o
38a0: 62 6a 22 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 63  bj"..command="$c
38b0: 6f 6d 6d 61 6e 64 20 2d 6f 20 24 6f 75 74 70 75  ommand -o $outpu
38c0: 74 5f 6f 62 6a 22 0a 20 20 20 20 20 20 66 69 0a  t_obj".      fi.
38d0: 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20  .      $run $rm 
38e0: 22 24 6f 75 74 70 75 74 5f 6f 62 6a 22 0a 20 20  "$output_obj".  
38f0: 20 20 20 20 24 73 68 6f 77 20 22 24 63 6f 6d 6d      $show "$comm
3900: 61 6e 64 22 0a 20 20 20 20 20 20 69 66 20 24 72  and".      if $r
3910: 75 6e 20 65 76 61 6c 20 22 24 63 6f 6d 6d 61 6e  un eval "$comman
3920: 64 22 3b 20 74 68 65 6e 20 3a 0a 20 20 20 20 20  d"; then :.     
3930: 20 65 6c 73 65 0a 09 74 65 73 74 20 2d 6e 20 22   else..test -n "
3940: 24 6f 75 74 70 75 74 5f 6f 62 6a 22 20 26 26 20  $output_obj" && 
3950: 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65  $run $rm $remove
3960: 6c 69 73 74 0a 09 65 78 69 74 20 31 0a 20 20 20  list..exit 1.   
3970: 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20     fi..      if 
3980: 74 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b  test "$need_lock
3990: 73 22 20 3d 20 77 61 72 6e 20 26 26 0a 09 20 74  s" = warn &&.. t
39a0: 65 73 74 20 78 22 60 63 61 74 20 24 6c 6f 63 6b  est x"`cat $lock
39b0: 66 69 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  file 2>/dev/null
39c0: 60 22 20 21 3d 20 78 22 24 73 72 63 66 69 6c 65  `" != x"$srcfile
39d0: 22 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 5c  "; then..echo "\
39e0: 0a 2a 2a 2a 20 45 52 52 4f 52 2c 20 24 6c 6f 63  .*** ERROR, $loc
39f0: 6b 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 3a 0a  kfile contains:.
3a00: 60 63 61 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32  `cat $lockfile 2
3a10: 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 0a 62 75 74  >/dev/null`..but
3a20: 20 69 74 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61   it should conta
3a30: 69 6e 3a 0a 24 73 72 63 66 69 6c 65 0a 0a 54 68  in:.$srcfile..Th
3a40: 69 73 20 69 6e 64 69 63 61 74 65 73 20 74 68 61  is indicates tha
3a50: 74 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73  t another proces
3a60: 73 20 69 73 20 74 72 79 69 6e 67 20 74 6f 20 75  s is trying to u
3a70: 73 65 20 74 68 65 20 73 61 6d 65 0a 74 65 6d 70  se the same.temp
3a80: 6f 72 61 72 79 20 6f 62 6a 65 63 74 20 66 69 6c  orary object fil
3a90: 65 2c 20 61 6e 64 20 6c 69 62 74 6f 6f 6c 20 63  e, and libtool c
3aa0: 6f 75 6c 64 20 6e 6f 74 20 77 6f 72 6b 20 61 72  ould not work ar
3ab0: 6f 75 6e 64 20 69 74 20 62 65 63 61 75 73 65 0a  ound it because.
3ac0: 79 6f 75 72 20 63 6f 6d 70 69 6c 65 72 20 64 6f  your compiler do
3ad0: 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 5c  es not support \
3ae0: 60 2d 63 27 20 61 6e 64 20 5c 60 2d 6f 27 20 74  `-c' and \`-o' t
3af0: 6f 67 65 74 68 65 72 2e 20 20 49 66 20 79 6f 75  ogether.  If you
3b00: 0a 72 65 70 65 61 74 20 74 68 69 73 20 63 6f 6d  .repeat this com
3b10: 70 69 6c 61 74 69 6f 6e 2c 20 69 74 20 6d 61 79  pilation, it may
3b20: 20 73 75 63 63 65 65 64 2c 20 62 79 20 63 68 61   succeed, by cha
3b30: 6e 63 65 2c 20 62 75 74 20 79 6f 75 20 68 61 64  nce, but you had
3b40: 20 62 65 74 74 65 72 0a 61 76 6f 69 64 20 70 61   better.avoid pa
3b50: 72 61 6c 6c 65 6c 20 62 75 69 6c 64 73 20 28 6d  rallel builds (m
3b60: 61 6b 65 20 2d 6a 29 20 69 6e 20 74 68 69 73 20  ake -j) in this 
3b70: 70 6c 61 74 66 6f 72 6d 2c 20 6f 72 20 67 65 74  platform, or get
3b80: 20 61 20 62 65 74 74 65 72 0a 63 6f 6d 70 69 6c   a better.compil
3b90: 65 72 2e 22 0a 0a 09 24 72 75 6e 20 24 72 6d 20  er."...$run $rm 
3ba0: 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69  $removelist..exi
3bb0: 74 20 31 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  t 1.      fi..  
3bc0: 20 20 20 20 23 20 4a 75 73 74 20 6d 6f 76 65 20      # Just move 
3bd0: 74 68 65 20 6f 62 6a 65 63 74 20 69 66 20 6e 65  the object if ne
3be0: 65 64 65 64 2c 20 74 68 65 6e 20 67 6f 20 6f 6e  eded, then go on
3bf0: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20   to compile the 
3c00: 6e 65 78 74 20 6f 6e 65 0a 20 20 20 20 20 20 69  next one.      i
3c10: 66 20 74 65 73 74 20 78 22 24 6f 75 74 70 75 74  f test x"$output
3c20: 5f 6f 62 6a 22 20 21 3d 20 78 22 24 6c 69 62 6f  _obj" != x"$libo
3c30: 62 6a 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77  bj"; then..$show
3c40: 20 22 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62   "$mv $output_ob
3c50: 6a 20 24 6c 69 62 6f 62 6a 22 0a 09 69 66 20 24  j $libobj"..if $
3c60: 72 75 6e 20 24 6d 76 20 24 6f 75 74 70 75 74 5f  run $mv $output_
3c70: 6f 62 6a 20 24 6c 69 62 6f 62 6a 3b 20 74 68 65  obj $libobj; the
3c80: 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20 65 72 72  n :..else..  err
3c90: 6f 72 3d 24 3f 0a 09 20 20 24 72 75 6e 20 24 72  or=$?..  $run $r
3ca0: 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20  m $removelist.. 
3cb0: 20 65 78 69 74 20 24 65 72 72 6f 72 0a 09 66 69   exit $error..fi
3cc0: 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
3cd0: 20 23 20 49 66 20 77 65 20 68 61 76 65 20 6e 6f   # If we have no
3ce0: 20 70 69 63 5f 66 6c 61 67 2c 20 74 68 65 6e 20   pic_flag, then 
3cf0: 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20  copy the object 
3d00: 69 6e 74 6f 20 70 6c 61 63 65 20 61 6e 64 20 66  into place and f
3d10: 69 6e 69 73 68 2e 0a 20 20 20 20 20 20 69 66 20  inish..      if 
3d20: 28 74 65 73 74 20 2d 7a 20 22 24 70 69 63 5f 66  (test -z "$pic_f
3d30: 6c 61 67 22 20 7c 7c 20 74 65 73 74 20 22 24 70  lag" || test "$p
3d40: 69 63 5f 6d 6f 64 65 22 20 21 3d 20 64 65 66 61  ic_mode" != defa
3d50: 75 6c 74 29 20 26 26 0a 09 20 74 65 73 74 20 22  ult) &&.. test "
3d60: 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22  $build_old_libs"
3d70: 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 23 20   = yes; then..# 
3d80: 52 65 6e 61 6d 65 20 74 68 65 20 2e 6c 6f 20 66  Rename the .lo f
3d90: 72 6f 6d 20 77 69 74 68 69 6e 20 6f 62 6a 64 69  rom within objdi
3da0: 72 20 74 6f 20 6f 62 6a 0a 09 69 66 20 74 65 73  r to obj..if tes
3db0: 74 20 2d 66 20 24 6f 62 6a 3b 20 74 68 65 6e 0a  t -f $obj; then.
3dc0: 09 20 20 24 73 68 6f 77 20 24 72 6d 20 24 6f 62  .  $show $rm $ob
3dd0: 6a 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 24 6f  j..  $run $rm $o
3de0: 62 6a 0a 09 66 69 0a 0a 09 24 73 68 6f 77 20 22  bj..fi...$show "
3df0: 24 6d 76 20 24 6c 69 62 6f 62 6a 20 24 6f 62 6a  $mv $libobj $obj
3e00: 22 0a 09 69 66 20 24 72 75 6e 20 24 6d 76 20 24  "..if $run $mv $
3e10: 6c 69 62 6f 62 6a 20 24 6f 62 6a 3b 20 74 68 65  libobj $obj; the
3e20: 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20 65 72 72  n :..else..  err
3e30: 6f 72 3d 24 3f 0a 09 20 20 24 72 75 6e 20 24 72  or=$?..  $run $r
3e40: 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20  m $removelist.. 
3e50: 20 65 78 69 74 20 24 65 72 72 6f 72 0a 09 66 69   exit $error..fi
3e60: 0a 0a 09 78 64 69 72 3d 60 24 65 63 68 6f 20 22  ...xdir=`$echo "
3e70: 58 24 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d  X$obj" | $Xsed -
3e80: 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60  e 's%/[^/]*$%%'`
3e90: 0a 09 69 66 20 74 65 73 74 20 22 58 24 78 64 69  ..if test "X$xdi
3ea0: 72 22 20 3d 20 22 58 24 6f 62 6a 22 3b 20 74 68  r" = "X$obj"; th
3eb0: 65 6e 0a 09 20 20 78 64 69 72 3d 22 2e 22 0a 09  en..  xdir="."..
3ec0: 65 6c 73 65 0a 09 20 20 78 64 69 72 3d 22 24 78  else..  xdir="$x
3ed0: 64 69 72 22 0a 09 66 69 0a 09 62 61 73 65 6f 62  dir"..fi..baseob
3ee0: 6a 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 22  j=`$echo "X$obj"
3ef0: 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 25 2e   | $Xsed -e "s%.
3f00: 2a 2f 25 25 22 60 0a 09 6c 69 62 6f 62 6a 3d 60  */%%"`..libobj=`
3f10: 24 65 63 68 6f 20 22 58 24 62 61 73 65 6f 62 6a  $echo "X$baseobj
3f20: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6f  " | $Xsed -e "$o
3f30: 32 6c 6f 22 60 0a 09 23 20 4e 6f 77 20 61 72 72  2lo"`..# Now arr
3f40: 61 6e 67 65 20 74 68 61 74 20 6f 62 6a 20 61 6e  ange that obj an
3f50: 64 20 6c 6f 5f 6c 69 62 6f 62 6a 20 62 65 63 6f  d lo_libobj beco
3f60: 6d 65 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65  me the same file
3f70: 0a 09 24 73 68 6f 77 20 22 28 63 64 20 24 78 64  ..$show "(cd $xd
3f80: 69 72 20 26 26 20 24 4c 4e 5f 53 20 24 62 61 73  ir && $LN_S $bas
3f90: 65 6f 62 6a 20 24 6c 69 62 6f 62 6a 29 22 0a 09  eobj $libobj)"..
3fa0: 69 66 20 24 72 75 6e 20 65 76 61 6c 20 27 28 63  if $run eval '(c
3fb0: 64 20 24 78 64 69 72 20 26 26 20 24 4c 4e 5f 53  d $xdir && $LN_S
3fc0: 20 24 62 61 73 65 6f 62 6a 20 24 6c 69 62 6f 62   $baseobj $libob
3fd0: 6a 29 27 3b 20 74 68 65 6e 0a 09 20 20 23 20 55  j)'; then..  # U
3fe0: 6e 6c 6f 63 6b 20 74 68 65 20 63 72 69 74 69 63  nlock the critic
3ff0: 61 6c 20 73 65 63 74 69 6f 6e 20 69 66 20 69 74  al section if it
4000: 20 77 61 73 20 6c 6f 63 6b 65 64 0a 09 20 20 69   was locked..  i
4010: 66 20 74 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f  f test "$need_lo
4020: 63 6b 73 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e  cks" != no; then
4030: 0a 09 20 20 20 20 24 72 75 6e 20 24 72 6d 20 22  ..    $run $rm "
4040: 24 6c 6f 63 6b 66 69 6c 65 22 0a 09 20 20 66 69  $lockfile"..  fi
4050: 0a 09 20 20 65 78 69 74 20 30 0a 09 65 6c 73 65  ..  exit 0..else
4060: 0a 09 20 20 65 72 72 6f 72 3d 24 3f 0a 09 20 20  ..  error=$?..  
4070: 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65  $run $rm $remove
4080: 6c 69 73 74 0a 09 20 20 65 78 69 74 20 24 65 72  list..  exit $er
4090: 72 6f 72 0a 09 66 69 0a 20 20 20 20 20 20 66 69  ror..fi.      fi
40a0: 0a 0a 20 20 20 20 20 20 23 20 41 6c 6c 6f 77 20  ..      # Allow 
40b0: 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 6f  error messages o
40c0: 6e 6c 79 20 66 72 6f 6d 20 74 68 65 20 66 69 72  nly from the fir
40d0: 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a  st compilation..
40e0: 20 20 20 20 20 20 73 75 70 70 72 65 73 73 5f 6f        suppress_o
40f0: 75 74 70 75 74 3d 27 20 3e 2f 64 65 76 2f 6e 75  utput=' >/dev/nu
4100: 6c 6c 20 32 3e 26 31 27 0a 20 20 20 20 66 69 0a  ll 2>&1'.    fi.
4110: 0a 20 20 20 20 23 20 4f 6e 6c 79 20 62 75 69 6c  .    # Only buil
4120: 64 20 61 20 70 6f 73 69 74 69 6f 6e 2d 64 65 70  d a position-dep
4130: 65 6e 64 65 6e 74 20 6f 62 6a 65 63 74 20 69 66  endent object if
4140: 20 77 65 20 62 75 69 6c 64 20 6f 6c 64 20 6c 69   we build old li
4150: 62 72 61 72 69 65 73 2e 0a 20 20 20 20 69 66 20  braries..    if 
4160: 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64  test "$build_old
4170: 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68  _libs" = yes; th
4180: 65 6e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  en.      if test
4190: 20 22 24 70 69 63 5f 6d 6f 64 65 22 20 21 3d 20   "$pic_mode" != 
41a0: 79 65 73 3b 20 74 68 65 6e 0a 09 23 20 44 6f 6e  yes; then..# Don
41b0: 27 74 20 62 75 69 6c 64 20 50 49 43 20 63 6f 64  't build PIC cod
41c0: 65 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73  e..command="$bas
41d0: 65 5f 63 6f 6d 70 69 6c 65 20 24 73 72 63 66 69  e_compile $srcfi
41e0: 6c 65 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 09  le".      else..
41f0: 23 20 41 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 20  # All platforms 
4200: 75 73 65 20 2d 44 50 49 43 2c 20 74 6f 20 6e 6f  use -DPIC, to no
4210: 74 69 66 79 20 70 72 65 70 72 6f 63 65 73 73 65  tify preprocesse
4220: 64 20 61 73 73 65 6d 62 6c 65 72 20 63 6f 64 65  d assembler code
4230: 2e 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73  ...command="$bas
4240: 65 5f 63 6f 6d 70 69 6c 65 20 24 73 72 63 66 69  e_compile $srcfi
4250: 6c 65 20 24 70 69 63 5f 66 6c 61 67 20 2d 44 50  le $pic_flag -DP
4260: 49 43 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20  IC".      fi.   
4270: 20 20 20 69 66 20 74 65 73 74 20 22 24 63 6f 6d     if test "$com
4280: 70 69 6c 65 72 5f 63 5f 6f 22 20 3d 20 79 65 73  piler_c_o" = yes
4290: 3b 20 74 68 65 6e 0a 09 63 6f 6d 6d 61 6e 64 3d  ; then..command=
42a0: 22 24 63 6f 6d 6d 61 6e 64 20 2d 6f 20 24 6f 62  "$command -o $ob
42b0: 6a 22 0a 09 6f 75 74 70 75 74 5f 6f 62 6a 3d 22  j"..output_obj="
42c0: 24 6f 62 6a 22 0a 20 20 20 20 20 20 66 69 0a 0a  $obj".      fi..
42d0: 20 20 20 20 20 20 23 20 53 75 70 70 72 65 73 73        # Suppress
42e0: 20 63 6f 6d 70 69 6c 65 72 20 6f 75 74 70 75 74   compiler output
42f0: 20 69 66 20 77 65 20 61 6c 72 65 61 64 79 20 64   if we already d
4300: 69 64 20 61 20 50 49 43 20 63 6f 6d 70 69 6c 61  id a PIC compila
4310: 74 69 6f 6e 2e 0a 20 20 20 20 20 20 63 6f 6d 6d  tion..      comm
4320: 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e 64 24 73 75  and="$command$su
4330: 70 70 72 65 73 73 5f 6f 75 74 70 75 74 22 0a 20  ppress_output". 
4340: 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20 22 24       $run $rm "$
4350: 6f 75 74 70 75 74 5f 6f 62 6a 22 0a 20 20 20 20  output_obj".    
4360: 20 20 24 73 68 6f 77 20 22 24 63 6f 6d 6d 61 6e    $show "$comman
4370: 64 22 0a 20 20 20 20 20 20 69 66 20 24 72 75 6e  d".      if $run
4380: 20 65 76 61 6c 20 22 24 63 6f 6d 6d 61 6e 64 22   eval "$command"
4390: 3b 20 74 68 65 6e 20 3a 0a 20 20 20 20 20 20 65  ; then :.      e
43a0: 6c 73 65 0a 09 24 72 75 6e 20 24 72 6d 20 24 72  lse..$run $rm $r
43b0: 65 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69 74 20  emovelist..exit 
43c0: 31 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  1.      fi..    
43d0: 20 20 69 66 20 74 65 73 74 20 22 24 6e 65 65 64    if test "$need
43e0: 5f 6c 6f 63 6b 73 22 20 3d 20 77 61 72 6e 20 26  _locks" = warn &
43f0: 26 0a 09 20 74 65 73 74 20 78 22 60 63 61 74 20  &.. test x"`cat 
4400: 24 6c 6f 63 6b 66 69 6c 65 20 32 3e 2f 64 65 76  $lockfile 2>/dev
4410: 2f 6e 75 6c 6c 60 22 20 21 3d 20 78 22 24 73 72  /null`" != x"$sr
4420: 63 66 69 6c 65 22 3b 20 74 68 65 6e 0a 09 65 63  cfile"; then..ec
4430: 68 6f 20 22 5c 0a 2a 2a 2a 20 45 52 52 4f 52 2c  ho "\.*** ERROR,
4440: 20 24 6c 6f 63 6b 66 69 6c 65 20 63 6f 6e 74 61   $lockfile conta
4450: 69 6e 73 3a 0a 60 63 61 74 20 24 6c 6f 63 6b 66  ins:.`cat $lockf
4460: 69 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60  ile 2>/dev/null`
4470: 0a 0a 62 75 74 20 69 74 20 73 68 6f 75 6c 64 20  ..but it should 
4480: 63 6f 6e 74 61 69 6e 3a 0a 24 73 72 63 66 69 6c  contain:.$srcfil
4490: 65 0a 0a 54 68 69 73 20 69 6e 64 69 63 61 74 65  e..This indicate
44a0: 73 20 74 68 61 74 20 61 6e 6f 74 68 65 72 20 70  s that another p
44b0: 72 6f 63 65 73 73 20 69 73 20 74 72 79 69 6e 67  rocess is trying
44c0: 20 74 6f 20 75 73 65 20 74 68 65 20 73 61 6d 65   to use the same
44d0: 0a 74 65 6d 70 6f 72 61 72 79 20 6f 62 6a 65 63  .temporary objec
44e0: 74 20 66 69 6c 65 2c 20 61 6e 64 20 6c 69 62 74  t file, and libt
44f0: 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f 74 20 77 6f  ool could not wo
4500: 72 6b 20 61 72 6f 75 6e 64 20 69 74 20 62 65 63  rk around it bec
4510: 61 75 73 65 0a 79 6f 75 72 20 63 6f 6d 70 69 6c  ause.your compil
4520: 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70  er does not supp
4530: 6f 72 74 20 5c 60 2d 63 27 20 61 6e 64 20 5c 60  ort \`-c' and \`
4540: 2d 6f 27 20 74 6f 67 65 74 68 65 72 2e 20 20 49  -o' together.  I
4550: 66 20 79 6f 75 0a 72 65 70 65 61 74 20 74 68 69  f you.repeat thi
4560: 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 69  s compilation, i
4570: 74 20 6d 61 79 20 73 75 63 63 65 65 64 2c 20 62  t may succeed, b
4580: 79 20 63 68 61 6e 63 65 2c 20 62 75 74 20 79 6f  y chance, but yo
4590: 75 20 68 61 64 20 62 65 74 74 65 72 0a 61 76 6f  u had better.avo
45a0: 69 64 20 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c  id parallel buil
45b0: 64 73 20 28 6d 61 6b 65 20 2d 6a 29 20 69 6e 20  ds (make -j) in 
45c0: 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2c 20 6f  this platform, o
45d0: 72 20 67 65 74 20 61 20 62 65 74 74 65 72 0a 63  r get a better.c
45e0: 6f 6d 70 69 6c 65 72 2e 22 0a 0a 09 24 72 75 6e  ompiler."...$run
45f0: 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74   $rm $removelist
4600: 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20 20 66  ..exit 1.      f
4610: 69 0a 0a 20 20 20 20 20 20 23 20 4a 75 73 74 20  i..      # Just 
4620: 6d 6f 76 65 20 74 68 65 20 6f 62 6a 65 63 74 20  move the object 
4630: 69 66 20 6e 65 65 64 65 64 0a 20 20 20 20 20 20  if needed.      
4640: 69 66 20 74 65 73 74 20 78 22 24 6f 75 74 70 75  if test x"$outpu
4650: 74 5f 6f 62 6a 22 20 21 3d 20 78 22 24 6f 62 6a  t_obj" != x"$obj
4660: 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22  "; then..$show "
4670: 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20  $mv $output_obj 
4680: 24 6f 62 6a 22 0a 09 69 66 20 24 72 75 6e 20 24  $obj"..if $run $
4690: 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62 6a 20 24  mv $output_obj $
46a0: 6f 62 6a 3b 20 74 68 65 6e 20 3a 0a 09 65 6c 73  obj; then :..els
46b0: 65 0a 09 20 20 65 72 72 6f 72 3d 24 3f 0a 09 20  e..  error=$?.. 
46c0: 20 24 72 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76   $run $rm $remov
46d0: 65 6c 69 73 74 0a 09 20 20 65 78 69 74 20 24 65  elist..  exit $e
46e0: 72 72 6f 72 0a 09 66 69 0a 20 20 20 20 20 20 66  rror..fi.      f
46f0: 69 0a 0a 20 20 20 20 20 20 23 20 43 72 65 61 74  i..      # Creat
4700: 65 20 61 6e 20 69 6e 76 61 6c 69 64 20 6c 69 62  e an invalid lib
4710: 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 69 66 20 6e  tool object if n
4720: 6f 20 50 49 43 2c 20 73 6f 20 74 68 61 74 20 77  o PIC, so that w
4730: 65 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20 20 23  e do not.      #
4740: 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 69   accidentally li
4750: 6e 6b 20 69 74 20 69 6e 74 6f 20 61 20 70 72 6f  nk it into a pro
4760: 67 72 61 6d 2e 0a 20 20 20 20 20 20 69 66 20 74  gram..      if t
4770: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
4780: 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79 65 73  ool_libs" != yes
4790: 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 65  ; then..$show "e
47a0: 63 68 6f 20 74 69 6d 65 73 74 61 6d 70 20 3e 20  cho timestamp > 
47b0: 24 6c 69 62 6f 62 6a 22 0a 09 24 72 75 6e 20 65  $libobj"..$run e
47c0: 76 61 6c 20 22 65 63 68 6f 20 74 69 6d 65 73 74  val "echo timest
47d0: 61 6d 70 20 3e 20 5c 24 6c 69 62 6f 62 6a 22 20  amp > \$libobj" 
47e0: 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20  || exit $?.     
47f0: 20 65 6c 73 65 0a 09 23 20 4d 6f 76 65 20 74 68   else..# Move th
4800: 65 20 2e 6c 6f 20 66 72 6f 6d 20 77 69 74 68 69  e .lo from withi
4810: 6e 20 6f 62 6a 64 69 72 0a 09 24 73 68 6f 77 20  n objdir..$show 
4820: 22 24 6d 76 20 24 6c 69 62 6f 62 6a 20 24 6c 6f  "$mv $libobj $lo
4830: 5f 6c 69 62 6f 62 6a 22 0a 09 69 66 20 24 72 75  _libobj"..if $ru
4840: 6e 20 24 6d 76 20 24 6c 69 62 6f 62 6a 20 24 6c  n $mv $libobj $l
4850: 6f 5f 6c 69 62 6f 62 6a 3b 20 74 68 65 6e 20 3a  o_libobj; then :
4860: 0a 09 65 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d  ..else..  error=
4870: 24 3f 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 24  $?..  $run $rm $
4880: 72 65 6d 6f 76 65 6c 69 73 74 0a 09 20 20 65 78  removelist..  ex
4890: 69 74 20 24 65 72 72 6f 72 0a 09 66 69 0a 20 20  it $error..fi.  
48a0: 20 20 20 20 66 69 0a 20 20 20 20 66 69 0a 0a 20      fi.    fi.. 
48b0: 20 20 20 23 20 55 6e 6c 6f 63 6b 20 74 68 65 20     # Unlock the 
48c0: 63 72 69 74 69 63 61 6c 20 73 65 63 74 69 6f 6e  critical section
48d0: 20 69 66 20 69 74 20 77 61 73 20 6c 6f 63 6b 65   if it was locke
48e0: 64 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24  d.    if test "$
48f0: 6e 65 65 64 5f 6c 6f 63 6b 73 22 20 21 3d 20 6e  need_locks" != n
4900: 6f 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 72  o; then.      $r
4910: 75 6e 20 24 72 6d 20 22 24 6c 6f 63 6b 66 69 6c  un $rm "$lockfil
4920: 65 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 65  e".    fi..    e
4930: 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20  xit 0.    ;;..  
4940: 23 20 6c 69 62 74 6f 6f 6c 20 6c 69 6e 6b 20 6d  # libtool link m
4950: 6f 64 65 0a 20 20 6c 69 6e 6b 20 7c 20 72 65 6c  ode.  link | rel
4960: 69 6e 6b 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d  ink).    modenam
4970: 65 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69  e="$modename: li
4980: 6e 6b 22 0a 20 20 20 20 63 61 73 65 20 24 68 6f  nk".    case $ho
4990: 73 74 20 69 6e 0a 20 20 20 20 2a 2d 2a 2d 63 79  st in.    *-*-cy
49a0: 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67  gwin* | *-*-ming
49b0: 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c  w* | *-*-pw32* |
49c0: 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 20 20 20 20 20   *-*-os2*).     
49d0: 20 23 20 49 74 20 69 73 20 69 6d 70 6f 73 73 69   # It is impossi
49e0: 62 6c 65 20 74 6f 20 6c 69 6e 6b 20 61 20 64 6c  ble to link a dl
49f0: 6c 20 77 69 74 68 6f 75 74 20 74 68 69 73 20 73  l without this s
4a00: 65 74 74 69 6e 67 2c 20 61 6e 64 0a 20 20 20 20  etting, and.    
4a10: 20 20 23 20 77 65 20 73 68 6f 75 6c 64 6e 27 74    # we shouldn't
4a20: 20 66 6f 72 63 65 20 74 68 65 20 6d 61 6b 65 66   force the makef
4a30: 69 6c 65 20 6d 61 69 6e 74 61 69 6e 65 72 20 74  ile maintainer t
4a40: 6f 20 66 69 67 75 72 65 20 6f 75 74 0a 20 20 20  o figure out.   
4a50: 20 20 20 23 20 77 68 69 63 68 20 73 79 73 74 65     # which syste
4a60: 6d 20 77 65 20 61 72 65 20 63 6f 6d 70 69 6c 69  m we are compili
4a70: 6e 67 20 66 6f 72 20 69 6e 20 6f 72 64 65 72 20  ng for in order 
4a80: 74 6f 20 70 61 73 73 20 61 6e 20 65 78 74 72 61  to pass an extra
4a90: 0a 20 20 20 20 20 20 23 20 66 6c 61 67 20 66 6f  .      # flag fo
4aa0: 72 20 65 76 65 72 79 20 6c 69 62 74 6f 6f 6c 20  r every libtool 
4ab0: 69 6e 76 6f 6b 61 74 69 6f 6e 2e 0a 20 20 20 20  invokation..    
4ac0: 20 20 23 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69    # allow_undefi
4ad0: 6e 65 64 3d 6e 6f 0a 0a 20 20 20 20 20 20 23 20  ned=no..      # 
4ae0: 46 49 58 4d 45 3a 20 55 6e 66 6f 72 74 75 6e 61  FIXME: Unfortuna
4af0: 74 65 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20  tely, there are 
4b00: 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68  problems with th
4b10: 65 20 61 62 6f 76 65 20 77 68 65 6e 20 74 72 79  e above when try
4b20: 69 6e 67 0a 20 20 20 20 20 20 23 20 74 6f 20 6d  ing.      # to m
4b30: 61 6b 65 20 61 20 64 6c 6c 20 77 68 69 63 68 20  ake a dll which 
4b40: 68 61 73 20 75 6e 64 65 66 69 6e 65 64 20 73 79  has undefined sy
4b50: 6d 62 6f 6c 73 2c 20 69 6e 20 77 68 69 63 68 20  mbols, in which 
4b60: 63 61 73 65 20 6e 6f 74 0a 20 20 20 20 20 20 23  case not.      #
4b70: 20 65 76 65 6e 20 61 20 73 74 61 74 69 63 20 6c   even a static l
4b80: 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 2e  ibrary is built.
4b90: 20 20 46 6f 72 20 6e 6f 77 2c 20 77 65 20 6e 65    For now, we ne
4ba0: 65 64 20 74 6f 20 73 70 65 63 69 66 79 0a 20 20  ed to specify.  
4bb0: 20 20 20 20 23 20 2d 6e 6f 2d 75 6e 64 65 66 69      # -no-undefi
4bc0: 6e 65 64 20 6f 6e 20 74 68 65 20 6c 69 62 74 6f  ned on the libto
4bd0: 6f 6c 20 6c 69 6e 6b 20 6c 69 6e 65 20 77 68 65  ol link line whe
4be0: 6e 20 77 65 20 63 61 6e 20 62 65 20 63 65 72 74  n we can be cert
4bf0: 61 69 6e 0a 20 20 20 20 20 20 23 20 74 68 61 74  ain.      # that
4c00: 20 61 6c 6c 20 73 79 6d 62 6f 6c 73 20 61 72 65   all symbols are
4c10: 20 73 61 74 69 73 66 69 65 64 2c 20 6f 74 68 65   satisfied, othe
4c20: 72 77 69 73 65 20 77 65 20 67 65 74 20 61 20 73  rwise we get a s
4c30: 74 61 74 69 63 20 6c 69 62 72 61 72 79 2e 0a 20  tatic library.. 
4c40: 20 20 20 20 20 61 6c 6c 6f 77 5f 75 6e 64 65 66       allow_undef
4c50: 69 6e 65 64 3d 79 65 73 0a 20 20 20 20 20 20 3b  ined=yes.      ;
4c60: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 61  ;.    *).      a
4c70: 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 3d 79  llow_undefined=y
4c80: 65 73 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  es.      ;;.    
4c90: 65 73 61 63 0a 20 20 20 20 6c 69 62 74 6f 6f 6c  esac.    libtool
4ca0: 5f 61 72 67 73 3d 22 24 6e 6f 6e 6f 70 74 22 0a  _args="$nonopt".
4cb0: 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d      compile_comm
4cc0: 61 6e 64 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20  and="$nonopt".  
4cd0: 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61    finalize_comma
4ce0: 6e 64 3d 22 24 6e 6f 6e 6f 70 74 22 0a 0a 20 20  nd="$nonopt"..  
4cf0: 20 20 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d    compile_rpath=
4d00: 0a 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 72 70  .    finalize_rp
4d10: 61 74 68 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65  ath=.    compile
4d20: 5f 73 68 6c 69 62 70 61 74 68 3d 0a 20 20 20 20  _shlibpath=.    
4d30: 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61  finalize_shlibpa
4d40: 74 68 3d 0a 20 20 20 20 63 6f 6e 76 65 6e 69 65  th=.    convenie
4d50: 6e 63 65 3d 0a 20 20 20 20 6f 6c 64 5f 63 6f 6e  nce=.    old_con
4d60: 76 65 6e 69 65 6e 63 65 3d 0a 20 20 20 20 64 65  venience=.    de
4d70: 70 6c 69 62 73 3d 0a 20 20 20 20 6f 6c 64 5f 64  plibs=.    old_d
4d80: 65 70 6c 69 62 73 3d 0a 20 20 20 20 63 6f 6d 70  eplibs=.    comp
4d90: 69 6c 65 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20  iler_flags=.    
4da0: 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 3d 0a 20 20  linker_flags=.  
4db0: 20 20 64 6c 6c 73 65 61 72 63 68 70 61 74 68 3d    dllsearchpath=
4dc0: 0a 20 20 20 20 6c 69 62 5f 73 65 61 72 63 68 5f  .    lib_search_
4dd0: 70 61 74 68 3d 60 70 77 64 60 0a 20 20 20 20 69  path=`pwd`.    i
4de0: 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 3d 0a  nst_prefix_dir=.
4df0: 0a 20 20 20 20 61 76 6f 69 64 5f 76 65 72 73 69  .    avoid_versi
4e00: 6f 6e 3d 6e 6f 0a 20 20 20 20 64 6c 66 69 6c 65  on=no.    dlfile
4e10: 73 3d 0a 20 20 20 20 64 6c 70 72 65 66 69 6c 65  s=.    dlprefile
4e20: 73 3d 0a 20 20 20 20 64 6c 73 65 6c 66 3d 6e 6f  s=.    dlself=no
4e30: 0a 20 20 20 20 65 78 70 6f 72 74 5f 64 79 6e 61  .    export_dyna
4e40: 6d 69 63 3d 6e 6f 0a 20 20 20 20 65 78 70 6f 72  mic=no.    expor
4e50: 74 5f 73 79 6d 62 6f 6c 73 3d 0a 20 20 20 20 65  t_symbols=.    e
4e60: 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65  xport_symbols_re
4e70: 67 65 78 3d 0a 20 20 20 20 67 65 6e 65 72 61 74  gex=.    generat
4e80: 65 64 3d 0a 20 20 20 20 6c 69 62 6f 62 6a 73 3d  ed=.    libobjs=
4e90: 0a 20 20 20 20 6c 74 6c 69 62 73 3d 0a 20 20 20  .    ltlibs=.   
4ea0: 20 6d 6f 64 75 6c 65 3d 6e 6f 0a 20 20 20 20 6e   module=no.    n
4eb0: 6f 5f 69 6e 73 74 61 6c 6c 3d 6e 6f 0a 20 20 20  o_install=no.   
4ec0: 20 6f 62 6a 73 3d 0a 20 20 20 20 70 72 65 66 65   objs=.    prefe
4ed0: 72 5f 73 74 61 74 69 63 5f 6c 69 62 73 3d 6e 6f  r_static_libs=no
4ee0: 0a 20 20 20 20 70 72 65 6c 6f 61 64 3d 6e 6f 0a  .    preload=no.
4ef0: 20 20 20 20 70 72 65 76 3d 0a 20 20 20 20 70 72      prev=.    pr
4f00: 65 76 61 72 67 3d 0a 20 20 20 20 72 65 6c 65 61  evarg=.    relea
4f10: 73 65 3d 0a 20 20 20 20 72 70 61 74 68 3d 0a 20  se=.    rpath=. 
4f20: 20 20 20 78 72 70 61 74 68 3d 0a 20 20 20 20 70     xrpath=.    p
4f30: 65 72 6d 5f 72 70 61 74 68 3d 0a 20 20 20 20 74  erm_rpath=.    t
4f40: 65 6d 70 5f 72 70 61 74 68 3d 0a 20 20 20 20 74  emp_rpath=.    t
4f50: 68 72 65 61 64 5f 73 61 66 65 3d 6e 6f 0a 20 20  hread_safe=no.  
4f60: 20 20 76 69 6e 66 6f 3d 0a 0a 20 20 20 20 23 20    vinfo=..    # 
4f70: 57 65 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20  We need to know 
4f80: 2d 73 74 61 74 69 63 2c 20 74 6f 20 67 65 74 20  -static, to get 
4f90: 74 68 65 20 72 69 67 68 74 20 6f 75 74 70 75 74  the right output
4fa0: 20 66 69 6c 65 6e 61 6d 65 73 2e 0a 20 20 20 20   filenames..    
4fb0: 66 6f 72 20 61 72 67 0a 20 20 20 20 64 6f 0a 20  for arg.    do. 
4fc0: 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69       case $arg i
4fd0: 6e 0a 20 20 20 20 20 20 2d 61 6c 6c 2d 73 74 61  n.      -all-sta
4fe0: 74 69 63 20 7c 20 2d 73 74 61 74 69 63 29 0a 09  tic | -static)..
4ff0: 69 66 20 74 65 73 74 20 22 58 24 61 72 67 22 20  if test "X$arg" 
5000: 3d 20 22 58 2d 61 6c 6c 2d 73 74 61 74 69 63 22  = "X-all-static"
5010: 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73  ; then..  if tes
5020: 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  t "$build_libtoo
5030: 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 20 26 26  l_libs" = yes &&
5040: 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 6e 6b 5f   test -z "$link_
5050: 73 74 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68  static_flag"; th
5060: 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24  en..    $echo "$
5070: 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
5080: 67 3a 20 63 6f 6d 70 6c 65 74 65 20 73 74 61 74  g: complete stat
5090: 69 63 20 6c 69 6e 6b 69 6e 67 20 69 73 20 69 6d  ic linking is im
50a0: 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 69 73  possible in this
50b0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 22 20   configuration" 
50c0: 31 3e 26 32 0a 09 20 20 66 69 0a 09 20 20 69 66  1>&2..  fi..  if
50d0: 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f   test -n "$link_
50e0: 73 74 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68  static_flag"; th
50f0: 65 6e 0a 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73  en..    dlopen_s
5100: 65 6c 66 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66  elf=$dlopen_self
5110: 5f 73 74 61 74 69 63 0a 09 20 20 66 69 0a 09 65  _static..  fi..e
5120: 6c 73 65 0a 09 20 20 69 66 20 74 65 73 74 20 2d  lse..  if test -
5130: 7a 20 22 24 70 69 63 5f 66 6c 61 67 22 20 26 26  z "$pic_flag" &&
5140: 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f   test -n "$link_
5150: 73 74 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68  static_flag"; th
5160: 65 6e 0a 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73  en..    dlopen_s
5170: 65 6c 66 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66  elf=$dlopen_self
5180: 5f 73 74 61 74 69 63 0a 09 20 20 66 69 0a 09 66  _static..  fi..f
5190: 69 0a 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c  i..build_libtool
51a0: 5f 6c 69 62 73 3d 6e 6f 0a 09 62 75 69 6c 64 5f  _libs=no..build_
51b0: 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 70 72  old_libs=yes..pr
51c0: 65 66 65 72 5f 73 74 61 74 69 63 5f 6c 69 62 73  efer_static_libs
51d0: 3d 79 65 73 0a 09 62 72 65 61 6b 0a 09 3b 3b 0a  =yes..break..;;.
51e0: 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 64        esac.    d
51f0: 6f 6e 65 0a 0a 20 20 20 20 23 20 53 65 65 20 69  one..    # See i
5200: 66 20 6f 75 72 20 73 68 61 72 65 64 20 61 72 63  f our shared arc
5210: 68 69 76 65 73 20 64 65 70 65 6e 64 20 6f 6e 20  hives depend on 
5220: 73 74 61 74 69 63 20 61 72 63 68 69 76 65 73 2e  static archives.
5230: 0a 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 6f  .    test -n "$o
5240: 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f  ld_archive_from_
5250: 6e 65 77 5f 63 6d 64 73 22 20 26 26 20 62 75 69  new_cmds" && bui
5260: 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a  ld_old_libs=yes.
5270: 0a 20 20 20 20 23 20 47 6f 20 74 68 72 6f 75 67  .    # Go throug
5280: 68 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2c  h the arguments,
5290: 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 74 68   transforming th
52a0: 65 6d 20 6f 6e 20 74 68 65 20 77 61 79 2e 0a 20  em on the way.. 
52b0: 20 20 20 77 68 69 6c 65 20 74 65 73 74 20 24 23     while test $#
52c0: 20 2d 67 74 20 30 3b 20 64 6f 0a 20 20 20 20 20   -gt 0; do.     
52d0: 20 61 72 67 3d 22 24 31 22 0a 20 20 20 20 20 20   arg="$1".      
52e0: 73 68 69 66 74 0a 20 20 20 20 20 20 63 61 73 65  shift.      case
52f0: 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2a   $arg in.      *
5300: 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c  [\[\~\#\^\&\*\(\
5310: 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c  )\{\}\|\;\<\>\?\
5320: 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a  '\ \.]*|*]*|"").
5330: 09 71 61 72 67 3d 5c 22 60 24 65 63 68 6f 20 22  .qarg=\"`$echo "
5340: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
5350: 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
5360: 62 73 74 22 60 5c 22 20 23 23 23 20 74 65 73 74  bst"`\" ### test
5370: 73 75 69 74 65 3a 20 73 6b 69 70 20 6e 65 73 74  suite: skip nest
5380: 65 64 20 71 75 6f 74 69 6e 67 20 74 65 73 74 0a  ed quoting test.
5390: 09 3b 3b 0a 20 20 20 20 20 20 2a 29 20 71 61 72  .;;.      *) qar
53a0: 67 3d 24 61 72 67 20 3b 3b 0a 20 20 20 20 20 20  g=$arg ;;.      
53b0: 65 73 61 63 0a 20 20 20 20 20 20 6c 69 62 74 6f  esac.      libto
53c0: 6f 6c 5f 61 72 67 73 3d 22 24 6c 69 62 74 6f 6f  ol_args="$libtoo
53d0: 6c 5f 61 72 67 73 20 24 71 61 72 67 22 0a 0a 20  l_args $qarg".. 
53e0: 20 20 20 20 20 23 20 49 66 20 74 68 65 20 70 72       # If the pr
53f0: 65 76 69 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65  evious option ne
5400: 65 64 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c  eds an argument,
5410: 20 61 73 73 69 67 6e 20 69 74 2e 0a 20 20 20 20   assign it..    
5420: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70    if test -n "$p
5430: 72 65 76 22 3b 20 74 68 65 6e 0a 09 63 61 73 65  rev"; then..case
5440: 20 24 70 72 65 76 20 69 6e 0a 09 6f 75 74 70 75   $prev in..outpu
5450: 74 29 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f  t)..  compile_co
5460: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
5470: 63 6f 6d 6d 61 6e 64 20 40 4f 55 54 50 55 54 40  command @OUTPUT@
5480: 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f  "..  finalize_co
5490: 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65  mmand="$finalize
54a0: 5f 63 6f 6d 6d 61 6e 64 20 40 4f 55 54 50 55 54  _command @OUTPUT
54b0: 40 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a  @"..  ;;..esac..
54c0: 09 63 61 73 65 20 24 70 72 65 76 20 69 6e 0a 09  .case $prev in..
54d0: 64 6c 66 69 6c 65 73 7c 64 6c 70 72 65 66 69 6c  dlfiles|dlprefil
54e0: 65 73 29 0a 09 20 20 69 66 20 74 65 73 74 20 22  es)..  if test "
54f0: 24 70 72 65 6c 6f 61 64 22 20 3d 20 6e 6f 3b 20  $preload" = no; 
5500: 74 68 65 6e 0a 09 20 20 20 20 23 20 41 64 64 20  then..    # Add 
5510: 74 68 65 20 73 79 6d 62 6f 6c 20 6f 62 6a 65 63  the symbol objec
5520: 74 20 69 6e 74 6f 20 74 68 65 20 6c 69 6e 6b 69  t into the linki
5530: 6e 67 20 63 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20  ng commands...  
5540: 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e    compile_comman
5550: 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  d="$compile_comm
5560: 61 6e 64 20 40 53 59 4d 46 49 4c 45 40 22 0a 09  and @SYMFILE@"..
5570: 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d      finalize_com
5580: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
5590: 63 6f 6d 6d 61 6e 64 20 40 53 59 4d 46 49 4c 45  command @SYMFILE
55a0: 40 22 0a 09 20 20 20 20 70 72 65 6c 6f 61 64 3d  @"..    preload=
55b0: 79 65 73 0a 09 20 20 66 69 0a 09 20 20 63 61 73  yes..  fi..  cas
55c0: 65 20 24 61 72 67 20 69 6e 0a 09 20 20 2a 2e 6c  e $arg in..  *.l
55d0: 61 20 7c 20 2a 2e 6c 6f 29 20 3b 3b 20 20 23 20  a | *.lo) ;;  # 
55e0: 57 65 20 68 61 6e 64 6c 65 20 74 68 65 73 65 20  We handle these 
55f0: 63 61 73 65 73 20 62 65 6c 6f 77 2e 0a 09 20 20  cases below...  
5600: 66 6f 72 63 65 29 0a 09 20 20 20 20 69 66 20 74  force)..    if t
5610: 65 73 74 20 22 24 64 6c 73 65 6c 66 22 20 3d 20  est "$dlself" = 
5620: 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  no; then..      
5630: 64 6c 73 65 6c 66 3d 6e 65 65 64 6c 65 73 73 0a  dlself=needless.
5640: 09 20 20 20 20 20 20 65 78 70 6f 72 74 5f 64 79  .      export_dy
5650: 6e 61 6d 69 63 3d 79 65 73 0a 09 20 20 20 20 66  namic=yes..    f
5660: 69 0a 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20  i..    prev=..  
5670: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20    continue..    
5680: 3b 3b 0a 09 20 20 73 65 6c 66 29 0a 09 20 20 20  ;;..  self)..   
5690: 20 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22   if test "$prev"
56a0: 20 3d 20 64 6c 70 72 65 66 69 6c 65 73 3b 20 74   = dlprefiles; t
56b0: 68 65 6e 0a 09 20 20 20 20 20 20 64 6c 73 65 6c  hen..      dlsel
56c0: 66 3d 79 65 73 0a 09 20 20 20 20 65 6c 69 66 20  f=yes..    elif 
56d0: 74 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64  test "$prev" = d
56e0: 6c 66 69 6c 65 73 20 26 26 20 74 65 73 74 20 22  lfiles && test "
56f0: 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 22 20 21 3d  $dlopen_self" !=
5700: 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
5710: 20 20 64 6c 73 65 6c 66 3d 79 65 73 0a 09 20 20    dlself=yes..  
5720: 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 64 6c    else..      dl
5730: 73 65 6c 66 3d 6e 65 65 64 6c 65 73 73 0a 09 20  self=needless.. 
5740: 20 20 20 20 20 65 78 70 6f 72 74 5f 64 79 6e 61       export_dyna
5750: 6d 69 63 3d 79 65 73 0a 09 20 20 20 20 66 69 0a  mic=yes..    fi.
5760: 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20  .    prev=..    
5770: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b  continue..    ;;
5780: 0a 09 20 20 2a 29 0a 09 20 20 20 20 69 66 20 74  ..  *)..    if t
5790: 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c  est "$prev" = dl
57a0: 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  files; then..   
57b0: 20 20 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66     dlfiles="$dlf
57c0: 69 6c 65 73 20 24 61 72 67 22 0a 09 20 20 20 20  iles $arg"..    
57d0: 65 6c 73 65 0a 09 20 20 20 20 20 20 64 6c 70 72  else..      dlpr
57e0: 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69  efiles="$dlprefi
57f0: 6c 65 73 20 24 61 72 67 22 0a 09 20 20 20 20 66  les $arg"..    f
5800: 69 0a 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20  i..    prev=..  
5810: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20    continue..    
5820: 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b  ;;..  esac..  ;;
5830: 0a 09 65 78 70 73 79 6d 73 29 0a 09 20 20 65 78  ..expsyms)..  ex
5840: 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 3d 22 24 61  port_symbols="$a
5850: 72 67 22 0a 09 20 20 69 66 20 74 65 73 74 20 21  rg"..  if test !
5860: 20 2d 66 20 22 24 61 72 67 22 3b 20 74 68 65 6e   -f "$arg"; then
5870: 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ..    $echo "$mo
5880: 64 65 6e 61 6d 65 3a 20 73 79 6d 62 6f 6c 20 66  dename: symbol f
5890: 69 6c 65 20 5c 60 24 61 72 67 27 20 64 6f 65 73  ile \`$arg' does
58a0: 20 6e 6f 74 20 65 78 69 73 74 22 0a 09 20 20 20   not exist"..   
58b0: 20 65 78 69 74 20 31 0a 09 20 20 66 69 0a 09 20   exit 1..  fi.. 
58c0: 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e   prev=..  contin
58d0: 75 65 0a 09 20 20 3b 3b 0a 09 65 78 70 73 79 6d  ue..  ;;..expsym
58e0: 73 5f 72 65 67 65 78 29 0a 09 20 20 65 78 70 6f  s_regex)..  expo
58f0: 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
5900: 3d 22 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d  ="$arg"..  prev=
5910: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
5920: 3b 3b 0a 09 69 6e 73 74 5f 70 72 65 66 69 78 29  ;;..inst_prefix)
5930: 0a 09 20 20 69 6e 73 74 5f 70 72 65 66 69 78 5f  ..  inst_prefix_
5940: 64 69 72 3d 22 24 61 72 67 22 0a 09 20 20 70 72  dir="$arg"..  pr
5950: 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  ev=..  continue.
5960: 09 20 20 3b 3b 0a 09 72 65 6c 65 61 73 65 29 0a  .  ;;..release).
5970: 09 20 20 72 65 6c 65 61 73 65 3d 22 2d 24 61 72  .  release="-$ar
5980: 67 22 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63  g"..  prev=..  c
5990: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 72  ontinue..  ;;..r
59a0: 70 61 74 68 20 7c 20 78 72 70 61 74 68 29 0a 09  path | xrpath)..
59b0: 20 20 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61    # We need an a
59c0: 62 73 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 20  bsolute path... 
59d0: 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 09 20   case $arg in.. 
59e0: 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d   [\\/]* | [A-Za-
59f0: 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09 20  z]:[\\/]*) ;;.. 
5a00: 20 2a 29 0a 09 20 20 20 20 24 65 63 68 6f 20 22   *)..    $echo "
5a10: 24 6d 6f 64 65 6e 61 6d 65 3a 20 6f 6e 6c 79 20  $modename: only 
5a20: 61 62 73 6f 6c 75 74 65 20 72 75 6e 2d 70 61 74  absolute run-pat
5a30: 68 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 22 20  hs are allowed" 
5a40: 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 31  1>&2..    exit 1
5a50: 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63  ..    ;;..  esac
5a60: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 70 72  ..  if test "$pr
5a70: 65 76 22 20 3d 20 72 70 61 74 68 3b 20 74 68 65  ev" = rpath; the
5a80: 6e 0a 09 20 20 20 20 63 61 73 65 20 22 24 72 70  n..    case "$rp
5a90: 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20 2a 22  ath " in..    *"
5aa0: 20 24 61 72 67 20 22 2a 29 20 3b 3b 0a 09 20 20   $arg "*) ;;..  
5ab0: 20 20 2a 29 20 72 70 61 74 68 3d 22 24 72 70 61    *) rpath="$rpa
5ac0: 74 68 20 24 61 72 67 22 20 3b 3b 0a 09 20 20 20  th $arg" ;;..   
5ad0: 20 65 73 61 63 0a 09 20 20 65 6c 73 65 0a 09 20   esac..  else.. 
5ae0: 20 20 20 63 61 73 65 20 22 24 78 72 70 61 74 68     case "$xrpath
5af0: 20 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 61   " in..    *" $a
5b00: 72 67 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a  rg "*) ;;..    *
5b10: 29 20 78 72 70 61 74 68 3d 22 24 78 72 70 61 74  ) xrpath="$xrpat
5b20: 68 20 24 61 72 67 22 20 3b 3b 0a 09 20 20 20 20  h $arg" ;;..    
5b30: 65 73 61 63 0a 09 20 20 66 69 0a 09 20 20 70 72  esac..  fi..  pr
5b40: 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  ev=..  continue.
5b50: 09 20 20 3b 3b 0a 09 78 63 6f 6d 70 69 6c 65 72  .  ;;..xcompiler
5b60: 29 0a 09 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c  )..  compiler_fl
5b70: 61 67 73 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66  ags="$compiler_f
5b80: 6c 61 67 73 20 24 71 61 72 67 22 0a 09 20 20 70  lags $qarg"..  p
5b90: 72 65 76 3d 0a 09 20 20 63 6f 6d 70 69 6c 65 5f  rev=..  compile_
5ba0: 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c  command="$compil
5bb0: 65 5f 63 6f 6d 6d 61 6e 64 20 24 71 61 72 67 22  e_command $qarg"
5bc0: 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d  ..  finalize_com
5bd0: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
5be0: 63 6f 6d 6d 61 6e 64 20 24 71 61 72 67 22 0a 09  command $qarg"..
5bf0: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b    continue..  ;;
5c00: 0a 09 78 6c 69 6e 6b 65 72 29 0a 09 20 20 6c 69  ..xlinker)..  li
5c10: 6e 6b 65 72 5f 66 6c 61 67 73 3d 22 24 6c 69 6e  nker_flags="$lin
5c20: 6b 65 72 5f 66 6c 61 67 73 20 24 71 61 72 67 22  ker_flags $qarg"
5c30: 0a 09 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61  ..  compiler_fla
5c40: 67 73 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c  gs="$compiler_fl
5c50: 61 67 73 20 24 77 6c 24 71 61 72 67 22 0a 09 20  ags $wl$qarg".. 
5c60: 20 70 72 65 76 3d 0a 09 20 20 63 6f 6d 70 69 6c   prev=..  compil
5c70: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  e_command="$comp
5c80: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 77 6c 24  ile_command $wl$
5c90: 71 61 72 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a  qarg"..  finaliz
5ca0: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  e_command="$fina
5cb0: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 77 6c  lize_command $wl
5cc0: 24 71 61 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e  $qarg"..  contin
5cd0: 75 65 0a 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20  ue..  ;;..*)..  
5ce0: 65 76 61 6c 20 22 24 70 72 65 76 3d 5c 22 5c 24  eval "$prev=\"\$
5cf0: 61 72 67 5c 22 22 0a 09 20 20 70 72 65 76 3d 0a  arg\""..  prev=.
5d00: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b  .  continue..  ;
5d10: 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20 66 69  ;..esac.      fi
5d20: 20 23 20 74 65 73 74 20 2d 6e 20 24 70 72 65 76   # test -n $prev
5d30: 0a 0a 20 20 20 20 20 20 70 72 65 76 61 72 67 3d  ..      prevarg=
5d40: 22 24 61 72 67 22 0a 0a 20 20 20 20 20 20 63 61  "$arg"..      ca
5d50: 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20  se $arg in.     
5d60: 20 2d 61 6c 6c 2d 73 74 61 74 69 63 29 0a 09 69   -all-static)..i
5d70: 66 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b  f test -n "$link
5d80: 5f 73 74 61 74 69 63 5f 66 6c 61 67 22 3b 20 74  _static_flag"; t
5d90: 68 65 6e 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63  hen..  compile_c
5da0: 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
5db0: 5f 63 6f 6d 6d 61 6e 64 20 24 6c 69 6e 6b 5f 73  _command $link_s
5dc0: 74 61 74 69 63 5f 66 6c 61 67 22 0a 09 20 20 66  tatic_flag"..  f
5dd0: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
5de0: 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  "$finalize_comma
5df0: 6e 64 20 24 6c 69 6e 6b 5f 73 74 61 74 69 63 5f  nd $link_static_
5e00: 66 6c 61 67 22 0a 09 66 69 0a 09 63 6f 6e 74 69  flag"..fi..conti
5e10: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
5e20: 61 6c 6c 6f 77 2d 75 6e 64 65 66 69 6e 65 64 29  allow-undefined)
5e30: 0a 09 23 20 46 49 58 4d 45 3a 20 72 65 6d 6f 76  ..# FIXME: remov
5e40: 65 20 74 68 69 73 20 66 6c 61 67 20 73 6f 6d 65  e this flag some
5e50: 74 69 6d 65 20 69 6e 20 74 68 65 20 66 75 74 75  time in the futu
5e60: 72 65 2e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  re...$echo "$mod
5e70: 65 6e 61 6d 65 3a 20 5c 60 2d 61 6c 6c 6f 77 2d  ename: \`-allow-
5e80: 75 6e 64 65 66 69 6e 65 64 27 20 69 73 20 64 65  undefined' is de
5e90: 70 72 65 63 61 74 65 64 20 62 65 63 61 75 73 65  precated because
5ea0: 20 69 74 20 69 73 20 74 68 65 20 64 65 66 61 75   it is the defau
5eb0: 6c 74 22 20 31 3e 26 32 0a 09 63 6f 6e 74 69 6e  lt" 1>&2..contin
5ec0: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 61  ue..;;..      -a
5ed0: 76 6f 69 64 2d 76 65 72 73 69 6f 6e 29 0a 09 61  void-version)..a
5ee0: 76 6f 69 64 5f 76 65 72 73 69 6f 6e 3d 79 65 73  void_version=yes
5ef0: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
5f00: 20 20 20 20 20 20 2d 64 6c 6f 70 65 6e 29 0a 09        -dlopen)..
5f10: 70 72 65 76 3d 64 6c 66 69 6c 65 73 0a 09 63 6f  prev=dlfiles..co
5f20: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
5f30: 20 20 2d 64 6c 70 72 65 6f 70 65 6e 29 0a 09 70    -dlpreopen)..p
5f40: 72 65 76 3d 64 6c 70 72 65 66 69 6c 65 73 0a 09  rev=dlprefiles..
5f50: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
5f60: 20 20 20 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61      -export-dyna
5f70: 6d 69 63 29 0a 09 65 78 70 6f 72 74 5f 64 79 6e  mic)..export_dyn
5f80: 61 6d 69 63 3d 79 65 73 0a 09 63 6f 6e 74 69 6e  amic=yes..contin
5f90: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 65  ue..;;..      -e
5fa0: 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 20 7c 20  xport-symbols | 
5fb0: 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 2d  -export-symbols-
5fc0: 72 65 67 65 78 29 0a 09 69 66 20 74 65 73 74 20  regex)..if test 
5fd0: 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  -n "$export_symb
5fe0: 6f 6c 73 22 20 7c 7c 20 74 65 73 74 20 2d 6e 20  ols" || test -n 
5ff0: 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
6000: 5f 72 65 67 65 78 22 3b 20 74 68 65 6e 0a 09 20  _regex"; then.. 
6010: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
6020: 65 3a 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65  e: more than one
6030: 20 2d 65 78 70 6f 72 74 65 64 2d 73 79 6d 62 6f   -exported-symbo
6040: 6c 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e  ls argument is n
6050: 6f 74 20 61 6c 6c 6f 77 65 64 22 0a 09 20 20 65  ot allowed"..  e
6060: 78 69 74 20 31 0a 09 66 69 0a 09 69 66 20 74 65  xit 1..fi..if te
6070: 73 74 20 22 58 24 61 72 67 22 20 3d 20 22 58 2d  st "X$arg" = "X-
6080: 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73 22 3b  export-symbols";
6090: 20 74 68 65 6e 0a 09 20 20 70 72 65 76 3d 65 78   then..  prev=ex
60a0: 70 73 79 6d 73 0a 09 65 6c 73 65 0a 09 20 20 70  psyms..else..  p
60b0: 72 65 76 3d 65 78 70 73 79 6d 73 5f 72 65 67 65  rev=expsyms_rege
60c0: 78 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a  x..fi..continue.
60d0: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 69 6e 73 74  .;;..      -inst
60e0: 2d 70 72 65 66 69 78 2d 64 69 72 29 0a 20 20 20  -prefix-dir).   
60f0: 20 20 20 20 70 72 65 76 3d 69 6e 73 74 5f 70 72      prev=inst_pr
6100: 65 66 69 78 0a 20 20 20 20 20 20 20 63 6f 6e 74  efix.       cont
6110: 69 6e 75 65 0a 20 20 20 20 20 20 20 3b 3b 0a 0a  inue.       ;;..
6120: 20 20 20 20 20 20 23 20 54 68 65 20 6e 61 74 69        # The nati
6130: 76 65 20 49 52 49 58 20 6c 69 6e 6b 65 72 20 75  ve IRIX linker u
6140: 6e 64 65 72 73 74 61 6e 64 73 20 2d 4c 41 4e 47  nderstands -LANG
6150: 3a 2a 2c 20 2d 4c 49 53 54 3a 2a 20 61 6e 64 20  :*, -LIST:* and 
6160: 2d 4c 4e 4f 3a 2a 0a 20 20 20 20 20 20 23 20 73  -LNO:*.      # s
6170: 6f 2c 20 69 66 20 77 65 20 73 65 65 20 74 68 65  o, if we see the
6180: 73 65 20 66 6c 61 67 73 20 62 65 20 63 61 72 65  se flags be care
6190: 66 75 6c 20 6e 6f 74 20 74 6f 20 74 72 65 61 74  ful not to treat
61a0: 20 74 68 65 6d 20 6c 69 6b 65 20 2d 4c 0a 20 20   them like -L.  
61b0: 20 20 20 20 2d 4c 5b 41 2d 5a 5d 5b 41 2d 5a 5d      -L[A-Z][A-Z]
61c0: 2a 3a 2a 29 0a 09 63 61 73 65 20 24 77 69 74 68  *:*)..case $with
61d0: 5f 67 63 63 2f 24 68 6f 73 74 20 69 6e 0a 09 6e  _gcc/$host in..n
61e0: 6f 2f 2a 2d 2a 2d 69 72 69 78 2a 20 7c 20 6e 6f  o/*-*-irix* | no
61f0: 2f 2a 2d 2a 2d 6e 6f 6e 73 74 6f 70 75 78 2a 29  /*-*-nonstopux*)
6200: 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  ..  compile_comm
6210: 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f  and="$compile_co
6220: 6d 6d 61 6e 64 20 24 61 72 67 22 0a 09 20 20 66  mmand $arg"..  f
6230: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
6240: 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  "$finalize_comma
6250: 6e 64 20 24 61 72 67 22 0a 09 20 20 3b 3b 0a 09  nd $arg"..  ;;..
6260: 65 73 61 63 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  esac..continue..
6270: 3b 3b 0a 0a 20 20 20 20 20 20 2d 4c 2a 29 0a 09  ;;..      -L*)..
6280: 64 69 72 3d 60 24 65 63 68 6f 20 22 58 24 61 72  dir=`$echo "X$ar
6290: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  g" | $Xsed -e 's
62a0: 2f 5e 2d 4c 2f 2f 27 60 0a 09 23 20 57 65 20 6e  /^-L//'`..# We n
62b0: 65 65 64 20 61 6e 20 61 62 73 6f 6c 75 74 65 20  eed an absolute 
62c0: 70 61 74 68 2e 0a 09 63 61 73 65 20 24 64 69 72  path...case $dir
62d0: 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41   in..[\\/]* | [A
62e0: 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b  -Za-z]:[\\/]*) ;
62f0: 3b 0a 09 2a 29 0a 09 20 20 61 62 73 64 69 72 3d  ;..*)..  absdir=
6300: 60 63 64 20 22 24 64 69 72 22 20 26 26 20 70 77  `cd "$dir" && pw
6310: 64 60 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a  d`..  if test -z
6320: 20 22 24 61 62 73 64 69 72 22 3b 20 74 68 65 6e   "$absdir"; then
6330: 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ..    $echo "$mo
6340: 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 64  dename: cannot d
6350: 65 74 65 72 6d 69 6e 65 20 61 62 73 6f 6c 75 74  etermine absolut
6360: 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  e directory name
6370: 20 6f 66 20 5c 60 24 64 69 72 27 22 20 31 3e 26   of \`$dir'" 1>&
6380: 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20  2..    exit 1.. 
6390: 20 66 69 0a 09 20 20 64 69 72 3d 22 24 61 62 73   fi..  dir="$abs
63a0: 64 69 72 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63  dir"..  ;;..esac
63b0: 0a 09 63 61 73 65 20 22 24 64 65 70 6c 69 62 73  ..case "$deplibs
63c0: 20 22 20 69 6e 0a 09 2a 22 20 2d 4c 24 64 69 72   " in..*" -L$dir
63d0: 20 22 2a 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 64   "*) ;;..*)..  d
63e0: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
63f0: 20 2d 4c 24 64 69 72 22 0a 09 20 20 6c 69 62 5f   -L$dir"..  lib_
6400: 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6c 69  search_path="$li
6410: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20 24 64  b_search_path $d
6420: 69 72 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a  ir"..  ;;..esac.
6430: 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09  .case $host in..
6440: 2a 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c 20 2a 2d  *-*-cygwin* | *-
6450: 2a 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 70  *-mingw* | *-*-p
6460: 77 33 32 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29  w32* | *-*-os2*)
6470: 0a 09 20 20 63 61 73 65 20 3a 24 64 6c 6c 73 65  ..  case :$dllse
6480: 61 72 63 68 70 61 74 68 3a 20 69 6e 0a 09 20 20  archpath: in..  
6490: 2a 22 3a 24 64 69 72 3a 22 2a 29 20 3b 3b 0a 09  *":$dir:"*) ;;..
64a0: 20 20 2a 29 20 64 6c 6c 73 65 61 72 63 68 70 61    *) dllsearchpa
64b0: 74 68 3d 22 24 64 6c 6c 73 65 61 72 63 68 70 61  th="$dllsearchpa
64c0: 74 68 3a 24 64 69 72 22 3b 3b 0a 09 20 20 65 73  th:$dir";;..  es
64d0: 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09  ac..  ;;..esac..
64e0: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
64f0: 20 20 20 20 2d 6c 2a 29 0a 09 69 66 20 74 65 73      -l*)..if tes
6500: 74 20 22 58 24 61 72 67 22 20 3d 20 22 58 2d 6c  t "X$arg" = "X-l
6510: 63 22 20 7c 7c 20 74 65 73 74 20 22 58 24 61 72  c" || test "X$ar
6520: 67 22 20 3d 20 22 58 2d 6c 6d 22 3b 20 74 68 65  g" = "X-lm"; the
6530: 6e 0a 09 20 20 63 61 73 65 20 24 68 6f 73 74 20  n..  case $host 
6540: 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79 67 77 69 6e  in..  *-*-cygwin
6550: 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20  * | *-*-pw32* | 
6560: 2a 2d 2a 2d 62 65 6f 73 2a 29 0a 09 20 20 20 20  *-*-beos*)..    
6570: 23 20 54 68 65 73 65 20 73 79 73 74 65 6d 73 20  # These systems 
6580: 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 68  don't actually h
6590: 61 76 65 20 61 20 43 20 6f 72 20 6d 61 74 68 20  ave a C or math 
65a0: 6c 69 62 72 61 72 79 20 28 61 73 20 73 75 63 68  library (as such
65b0: 29 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a  )..    continue.
65c0: 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d 2a 2d 6d  .    ;;..  *-*-m
65d0: 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a  ingw* | *-*-os2*
65e0: 29 0a 09 20 20 20 20 23 20 54 68 65 73 65 20 73  )..    # These s
65f0: 79 73 74 65 6d 73 20 64 6f 6e 27 74 20 61 63 74  ystems don't act
6600: 75 61 6c 6c 79 20 68 61 76 65 20 61 20 43 20 6c  ually have a C l
6610: 69 62 72 61 72 79 20 28 61 73 20 73 75 63 68 29  ibrary (as such)
6620: 0a 09 20 20 20 20 74 65 73 74 20 22 58 24 61 72  ..    test "X$ar
6630: 67 22 20 3d 20 22 58 2d 6c 63 22 20 26 26 20 63  g" = "X-lc" && c
6640: 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a  ontinue..    ;;.
6650: 09 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20  .  *-*-openbsd* 
6660: 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a  | *-*-freebsd*).
6670: 09 20 20 20 20 23 20 44 6f 20 6e 6f 74 20 69 6e  .    # Do not in
6680: 63 6c 75 64 65 20 6c 69 62 63 20 64 75 65 20 74  clude libc due t
6690: 6f 20 75 73 20 68 61 76 69 6e 67 20 6c 69 62 63  o us having libc
66a0: 2f 6c 69 62 63 5f 72 2e 0a 09 20 20 20 20 74 65  /libc_r...    te
66b0: 73 74 20 22 58 24 61 72 67 22 20 3d 20 22 58 2d  st "X$arg" = "X-
66c0: 6c 63 22 20 26 26 20 63 6f 6e 74 69 6e 75 65 0a  lc" && continue.
66d0: 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a  .    ;;..  esac.
66e0: 09 20 65 6c 69 66 20 74 65 73 74 20 22 58 24 61  . elif test "X$a
66f0: 72 67 22 20 3d 20 22 58 2d 6c 63 5f 72 22 3b 20  rg" = "X-lc_r"; 
6700: 74 68 65 6e 0a 09 20 20 63 61 73 65 20 24 68 6f  then..  case $ho
6710: 73 74 20 69 6e 0a 09 20 2a 2d 2a 2d 6f 70 65 6e  st in.. *-*-open
6720: 62 73 64 2a 20 7c 20 2a 2d 2a 2d 66 72 65 65 62  bsd* | *-*-freeb
6730: 73 64 2a 29 0a 09 20 20 20 20 23 20 44 6f 20 6e  sd*)..    # Do n
6740: 6f 74 20 69 6e 63 6c 75 64 65 20 6c 69 62 63 5f  ot include libc_
6750: 72 20 64 69 72 65 63 74 6c 79 2c 20 75 73 65 20  r directly, use 
6760: 2d 70 74 68 72 65 61 64 20 66 6c 61 67 2e 0a 09  -pthread flag...
6770: 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20      continue..  
6780: 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66 69    ;;..  esac..fi
6790: 0a 09 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c  ..deplibs="$depl
67a0: 69 62 73 20 24 61 72 67 22 0a 09 63 6f 6e 74 69  ibs $arg"..conti
67b0: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
67c0: 6d 6f 64 75 6c 65 29 0a 09 6d 6f 64 75 6c 65 3d  module)..module=
67d0: 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b  yes..continue..;
67e0: 3b 0a 0a 20 20 20 20 20 20 2d 6e 6f 2d 66 61 73  ;..      -no-fas
67f0: 74 2d 69 6e 73 74 61 6c 6c 29 0a 09 66 61 73 74  t-install)..fast
6800: 5f 69 6e 73 74 61 6c 6c 3d 6e 6f 0a 09 63 6f 6e  _install=no..con
6810: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
6820: 20 2d 6e 6f 2d 69 6e 73 74 61 6c 6c 29 0a 09 63   -no-install)..c
6830: 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d  ase $host in..*-
6840: 2a 2d 63 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d  *-cygwin* | *-*-
6850: 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33  mingw* | *-*-pw3
6860: 32 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09  2* | *-*-os2*)..
6870: 20 20 23 20 54 68 65 20 50 41 54 48 20 68 61 63    # The PATH hac
6880: 6b 65 72 79 20 69 6e 20 77 72 61 70 70 65 72 20  kery in wrapper 
6890: 73 63 72 69 70 74 73 20 69 73 20 72 65 71 75 69  scripts is requi
68a0: 72 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 09  red on Windows..
68b0: 20 20 23 20 69 6e 20 6f 72 64 65 72 20 66 6f 72    # in order for
68c0: 20 74 68 65 20 6c 6f 61 64 65 72 20 74 6f 20 66   the loader to f
68d0: 69 6e 64 20 61 6e 79 20 64 6c 6c 73 20 69 74 20  ind any dlls it 
68e0: 6e 65 65 64 73 2e 0a 09 20 20 24 65 63 68 6f 20  needs...  $echo 
68f0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
6900: 69 6e 67 3a 20 5c 60 2d 6e 6f 2d 69 6e 73 74 61  ing: \`-no-insta
6910: 6c 6c 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66  ll' is ignored f
6920: 6f 72 20 24 68 6f 73 74 22 20 31 3e 26 32 0a 09  or $host" 1>&2..
6930: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
6940: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 61 73 73  me: warning: ass
6950: 75 6d 69 6e 67 20 5c 60 2d 6e 6f 2d 66 61 73 74  uming \`-no-fast
6960: 2d 69 6e 73 74 61 6c 6c 27 20 69 6e 73 74 65 61  -install' instea
6970: 64 22 20 31 3e 26 32 0a 09 20 20 66 61 73 74 5f  d" 1>&2..  fast_
6980: 69 6e 73 74 61 6c 6c 3d 6e 6f 0a 09 20 20 3b 3b  install=no..  ;;
6990: 0a 09 2a 29 20 6e 6f 5f 69 6e 73 74 61 6c 6c 3d  ..*) no_install=
69a0: 79 65 73 20 3b 3b 0a 09 65 73 61 63 0a 09 63 6f  yes ;;..esac..co
69b0: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
69c0: 20 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e 65 64 29    -no-undefined)
69d0: 0a 09 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65  ..allow_undefine
69e0: 64 3d 6e 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  d=no..continue..
69f0: 3b 3b 0a 0a 20 20 20 20 20 20 2d 6f 29 20 70 72  ;;..      -o) pr
6a00: 65 76 3d 6f 75 74 70 75 74 20 3b 3b 0a 0a 20 20  ev=output ;;..  
6a10: 20 20 20 20 2d 72 65 6c 65 61 73 65 29 0a 09 70      -release)..p
6a20: 72 65 76 3d 72 65 6c 65 61 73 65 0a 09 63 6f 6e  rev=release..con
6a30: 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20  tinue..;;..     
6a40: 20 2d 72 70 61 74 68 29 0a 09 70 72 65 76 3d 72   -rpath)..prev=r
6a50: 70 61 74 68 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  path..continue..
6a60: 3b 3b 0a 0a 20 20 20 20 20 20 2d 52 29 0a 09 70  ;;..      -R)..p
6a70: 72 65 76 3d 78 72 70 61 74 68 0a 09 63 6f 6e 74  rev=xrpath..cont
6a80: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  inue..;;..      
6a90: 2d 52 2a 29 0a 09 64 69 72 3d 60 24 65 63 68 6f  -R*)..dir=`$echo
6aa0: 20 22 58 24 61 72 67 22 20 7c 20 24 58 73 65 64   "X$arg" | $Xsed
6ab0: 20 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09   -e 's/^-R//'`..
6ac0: 23 20 57 65 20 6e 65 65 64 20 61 6e 20 61 62 73  # We need an abs
6ad0: 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 63 61 73  olute path...cas
6ae0: 65 20 24 64 69 72 20 69 6e 0a 09 5b 5c 5c 2f 5d  e $dir in..[\\/]
6af0: 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c  * | [A-Za-z]:[\\
6b00: 2f 5d 2a 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24  /]*) ;;..*)..  $
6b10: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
6b20: 20 6f 6e 6c 79 20 61 62 73 6f 6c 75 74 65 20 72   only absolute r
6b30: 75 6e 2d 70 61 74 68 73 20 61 72 65 20 61 6c 6c  un-paths are all
6b40: 6f 77 65 64 22 20 31 3e 26 32 0a 09 20 20 65 78  owed" 1>&2..  ex
6b50: 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63  it 1..  ;;..esac
6b60: 0a 09 63 61 73 65 20 22 24 78 72 70 61 74 68 20  ..case "$xrpath 
6b70: 22 20 69 6e 0a 09 2a 22 20 24 64 69 72 20 22 2a  " in..*" $dir "*
6b80: 29 20 3b 3b 0a 09 2a 29 20 78 72 70 61 74 68 3d  ) ;;..*) xrpath=
6b90: 22 24 78 72 70 61 74 68 20 24 64 69 72 22 20 3b  "$xrpath $dir" ;
6ba0: 3b 0a 09 65 73 61 63 0a 09 63 6f 6e 74 69 6e 75  ;..esac..continu
6bb0: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 73 74  e..;;..      -st
6bc0: 61 74 69 63 29 0a 09 23 20 54 68 65 20 65 66 66  atic)..# The eff
6bd0: 65 63 74 73 20 6f 66 20 2d 73 74 61 74 69 63 20  ects of -static 
6be0: 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 61  are defined in a
6bf0: 20 70 72 65 76 69 6f 75 73 20 6c 6f 6f 70 2e 0a   previous loop..
6c00: 09 23 20 57 65 20 75 73 65 64 20 74 6f 20 64 6f  .# We used to do
6c10: 20 74 68 65 20 73 61 6d 65 20 61 73 20 2d 61 6c   the same as -al
6c20: 6c 2d 73 74 61 74 69 63 20 6f 6e 20 70 6c 61 74  l-static on plat
6c30: 66 6f 72 6d 73 20 74 68 61 74 0a 09 23 20 64 69  forms that..# di
6c40: 64 6e 27 74 20 68 61 76 65 20 61 20 50 49 43 20  dn't have a PIC 
6c50: 66 6c 61 67 2c 20 62 75 74 20 74 68 65 20 61 73  flag, but the as
6c60: 73 75 6d 70 74 69 6f 6e 20 74 68 61 74 20 74 68  sumption that th
6c70: 65 20 65 66 66 65 63 74 73 0a 09 23 20 77 6f 75  e effects..# wou
6c80: 6c 64 20 62 65 20 65 71 75 69 76 61 6c 65 6e 74  ld be equivalent
6c90: 20 77 61 73 20 77 72 6f 6e 67 2e 20 20 49 74 20   was wrong.  It 
6ca0: 77 6f 75 6c 64 20 62 72 65 61 6b 20 6f 6e 20 61  would break on a
6cb0: 74 20 6c 65 61 73 74 0a 09 23 20 44 69 67 69 74  t least..# Digit
6cc0: 61 6c 20 55 6e 69 78 20 61 6e 64 20 41 49 58 2e  al Unix and AIX.
6cd0: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
6ce0: 20 20 20 20 20 20 2d 74 68 72 65 61 64 2d 73 61        -thread-sa
6cf0: 66 65 29 0a 09 74 68 72 65 61 64 5f 73 61 66 65  fe)..thread_safe
6d00: 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  =yes..continue..
6d10: 3b 3b 0a 0a 20 20 20 20 20 20 2d 76 65 72 73 69  ;;..      -versi
6d20: 6f 6e 2d 69 6e 66 6f 29 0a 09 70 72 65 76 3d 76  on-info)..prev=v
6d30: 69 6e 66 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  info..continue..
6d40: 3b 3b 0a 0a 20 20 20 20 20 20 2d 57 63 2c 2a 29  ;;..      -Wc,*)
6d50: 0a 09 61 72 67 73 3d 60 24 65 63 68 6f 20 22 58  ..args=`$echo "X
6d60: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
6d70: 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62   "$sed_quote_sub
6d80: 73 74 22 20 2d 65 20 27 73 2f 5e 2d 57 63 2c 2f  st" -e 's/^-Wc,/
6d90: 2f 27 60 0a 09 61 72 67 3d 0a 09 73 61 76 65 5f  /'`..arg=..save_
6da0: 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d  ifs="$IFS"; IFS=
6db0: 27 2c 27 0a 09 66 6f 72 20 66 6c 61 67 20 69 6e  ','..for flag in
6dc0: 20 24 61 72 67 73 3b 20 64 6f 0a 09 20 20 49 46   $args; do..  IF
6dd0: 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20  S="$save_ifs".. 
6de0: 20 63 61 73 65 20 24 66 6c 61 67 20 69 6e 0a 09   case $flag in..
6df0: 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26      *[\[\~\#\^\&
6e00: 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c  \*\(\)\{\}\|\;\<
6e10: 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a  \>\?\'\ \.]*|*]*
6e20: 7c 22 22 29 0a 09 20 20 20 20 66 6c 61 67 3d 22  |"")..    flag="
6e30: 5c 22 24 66 6c 61 67 5c 22 22 0a 09 20 20 20 20  \"$flag\""..    
6e40: 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 61 72  ;;..  esac..  ar
6e50: 67 3d 22 24 61 72 67 20 24 77 6c 24 66 6c 61 67  g="$arg $wl$flag
6e60: 22 0a 09 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c  "..  compiler_fl
6e70: 61 67 73 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66  ags="$compiler_f
6e80: 6c 61 67 73 20 24 66 6c 61 67 22 0a 09 64 6f 6e  lags $flag"..don
6e90: 65 0a 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66  e..IFS="$save_if
6ea0: 73 22 0a 09 61 72 67 3d 60 24 65 63 68 6f 20 22  s"..arg=`$echo "
6eb0: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
6ec0: 65 20 22 73 2f 5e 20 2f 2f 22 60 0a 09 3b 3b 0a  e "s/^ //"`..;;.
6ed0: 0a 20 20 20 20 20 20 2d 57 6c 2c 2a 29 0a 09 61  .      -Wl,*)..a
6ee0: 72 67 73 3d 60 24 65 63 68 6f 20 22 58 24 61 72  rgs=`$echo "X$ar
6ef0: 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  g" | $Xsed -e "$
6f00: 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
6f10: 20 2d 65 20 27 73 2f 5e 2d 57 6c 2c 2f 2f 27 60   -e 's/^-Wl,//'`
6f20: 0a 09 61 72 67 3d 0a 09 73 61 76 65 5f 69 66 73  ..arg=..save_ifs
6f30: 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 2c 27  ="$IFS"; IFS=','
6f40: 0a 09 66 6f 72 20 66 6c 61 67 20 69 6e 20 24 61  ..for flag in $a
6f50: 72 67 73 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22  rgs; do..  IFS="
6f60: 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 63 61  $save_ifs"..  ca
6f70: 73 65 20 24 66 6c 61 67 20 69 6e 0a 09 20 20 20  se $flag in..   
6f80: 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c   *[\[\~\#\^\&\*\
6f90: 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c  (\)\{\}\|\;\<\>\
6fa0: 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22  ?\'\ \.]*|*]*|""
6fb0: 29 0a 09 20 20 20 20 66 6c 61 67 3d 22 5c 22 24  )..    flag="\"$
6fc0: 66 6c 61 67 5c 22 22 0a 09 20 20 20 20 3b 3b 0a  flag\""..    ;;.
6fd0: 09 20 20 65 73 61 63 0a 09 20 20 61 72 67 3d 22  .  esac..  arg="
6fe0: 24 61 72 67 20 24 77 6c 24 66 6c 61 67 22 0a 09  $arg $wl$flag"..
6ff0: 20 20 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73    compiler_flags
7000: 3d 22 24 63 6f 6d 70 69 6c 65 72 5f 66 6c 61 67  ="$compiler_flag
7010: 73 20 24 77 6c 24 66 6c 61 67 22 0a 09 20 20 6c  s $wl$flag"..  l
7020: 69 6e 6b 65 72 5f 66 6c 61 67 73 3d 22 24 6c 69  inker_flags="$li
7030: 6e 6b 65 72 5f 66 6c 61 67 73 20 24 66 6c 61 67  nker_flags $flag
7040: 22 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73  "..done..IFS="$s
7050: 61 76 65 5f 69 66 73 22 0a 09 61 72 67 3d 60 24  ave_ifs"..arg=`$
7060: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
7070: 58 73 65 64 20 2d 65 20 22 73 2f 5e 20 2f 2f 22  Xsed -e "s/^ //"
7080: 60 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58 63  `..;;..      -Xc
7090: 6f 6d 70 69 6c 65 72 29 0a 09 70 72 65 76 3d 78  ompiler)..prev=x
70a0: 63 6f 6d 70 69 6c 65 72 0a 09 63 6f 6e 74 69 6e  compiler..contin
70b0: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 58  ue..;;..      -X
70c0: 6c 69 6e 6b 65 72 29 0a 09 70 72 65 76 3d 78 6c  linker)..prev=xl
70d0: 69 6e 6b 65 72 0a 09 63 6f 6e 74 69 6e 75 65 0a  inker..continue.
70e0: 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 53 6f 6d  .;;..      # Som
70f0: 65 20 6f 74 68 65 72 20 63 6f 6d 70 69 6c 65 72  e other compiler
7100: 20 66 6c 61 67 2e 0a 20 20 20 20 20 20 2d 2a 20   flag..      -* 
7110: 7c 20 2b 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77 6e  | +*)..# Unknown
7120: 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f   arguments in bo
7130: 74 68 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  th finalize_comm
7140: 61 6e 64 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f  and and compile_
7150: 63 6f 6d 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20  command need..# 
7160: 74 6f 20 62 65 20 61 65 73 74 68 65 74 69 63 61  to be aesthetica
7170: 6c 6c 79 20 71 75 6f 74 65 64 20 62 65 63 61 75  lly quoted becau
7180: 73 65 20 74 68 65 79 20 61 72 65 20 65 76 61 6c  se they are eval
7190: 65 64 20 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60  ed later...arg=`
71a0: 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20  $echo "X$arg" | 
71b0: 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
71c0: 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 63 61  uote_subst"`..ca
71d0: 73 65 20 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b  se $arg in..*[\[
71e0: 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b  \~\#\^\&\*\(\)\{
71f0: 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20  \}\|\;\<\>\?\'\ 
7200: 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20  \.]*|*]*|"")..  
7210: 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09  arg="\"$arg\""..
7220: 20 20 3b 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a 0a    ;;..esac..;;..
7230: 20 20 20 20 20 20 2a 2e 6c 6f 20 7c 20 2a 2e 24        *.lo | *.$
7240: 6f 62 6a 65 78 74 29 0a 09 23 20 41 20 6c 69 62  objext)..# A lib
7250: 72 61 72 79 20 6f 72 20 73 74 61 6e 64 61 72 64  rary or standard
7260: 20 6f 62 6a 65 63 74 2e 0a 09 69 66 20 74 65 73   object...if tes
7270: 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c 66 69  t "$prev" = dlfi
7280: 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 23 20 54  les; then..  # T
7290: 68 69 73 20 66 69 6c 65 20 77 61 73 20 73 70 65  his file was spe
72a0: 63 69 66 69 65 64 20 77 69 74 68 20 2d 64 6c 6f  cified with -dlo
72b0: 70 65 6e 2e 0a 09 20 20 69 66 20 74 65 73 74 20  pen...  if test 
72c0: 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
72d0: 6c 69 62 73 22 20 3d 20 79 65 73 20 26 26 20 74  libs" = yes && t
72e0: 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73 75 70  est "$dlopen_sup
72f0: 70 6f 72 74 22 20 3d 20 79 65 73 3b 20 74 68 65  port" = yes; the
7300: 6e 0a 09 20 20 20 20 64 6c 66 69 6c 65 73 3d 22  n..    dlfiles="
7310: 24 64 6c 66 69 6c 65 73 20 24 61 72 67 22 0a 09  $dlfiles $arg"..
7320: 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20 63      prev=..    c
7330: 6f 6e 74 69 6e 75 65 0a 09 20 20 65 6c 73 65 0a  ontinue..  else.
7340: 09 20 20 20 20 23 20 49 66 20 6c 69 62 74 6f 6f  .    # If libtoo
7350: 6c 20 6f 62 6a 65 63 74 73 20 61 72 65 20 75 6e  l objects are un
7360: 73 75 70 70 6f 72 74 65 64 2c 20 74 68 65 6e 20  supported, then 
7370: 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 6c 6f  we need to prelo
7380: 61 64 2e 0a 09 20 20 20 20 70 72 65 76 3d 64 6c  ad...    prev=dl
7390: 70 72 65 66 69 6c 65 73 0a 09 20 20 66 69 0a 09  prefiles..  fi..
73a0: 66 69 0a 0a 09 69 66 20 74 65 73 74 20 22 24 70  fi...if test "$p
73b0: 72 65 76 22 20 3d 20 64 6c 70 72 65 66 69 6c 65  rev" = dlprefile
73c0: 73 3b 20 74 68 65 6e 0a 09 20 20 23 20 50 72 65  s; then..  # Pre
73d0: 6c 6f 61 64 20 74 68 65 20 6f 6c 64 2d 73 74 79  load the old-sty
73e0: 6c 65 20 6f 62 6a 65 63 74 2e 0a 09 20 20 64 6c  le object...  dl
73f0: 70 72 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65  prefiles="$dlpre
7400: 66 69 6c 65 73 20 22 60 24 65 63 68 6f 20 22 58  files "`$echo "X
7410: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
7420: 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20 70 72 65   "$lo2o"`..  pre
7430: 76 3d 0a 09 65 6c 73 65 0a 09 20 20 63 61 73 65  v=..else..  case
7440: 20 24 61 72 67 20 69 6e 0a 09 20 20 2a 2e 6c 6f   $arg in..  *.lo
7450: 29 20 6c 69 62 6f 62 6a 73 3d 22 24 6c 69 62 6f  ) libobjs="$libo
7460: 62 6a 73 20 24 61 72 67 22 20 3b 3b 0a 09 20 20  bjs $arg" ;;..  
7470: 2a 29 20 6f 62 6a 73 3d 22 24 6f 62 6a 73 20 24  *) objs="$objs $
7480: 61 72 67 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a  arg" ;;..  esac.
7490: 09 66 69 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a  .fi..;;..      *
74a0: 2e 24 6c 69 62 65 78 74 29 0a 09 23 20 41 6e 20  .$libext)..# An 
74b0: 61 72 63 68 69 76 65 2e 0a 09 64 65 70 6c 69 62  archive...deplib
74c0: 73 3d 22 24 64 65 70 6c 69 62 73 20 24 61 72 67  s="$deplibs $arg
74d0: 22 0a 09 6f 6c 64 5f 64 65 70 6c 69 62 73 3d 22  "..old_deplibs="
74e0: 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20 24 61 72  $old_deplibs $ar
74f0: 67 22 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b  g"..continue..;;
7500: 0a 0a 20 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23  ..      *.la)..#
7510: 20 41 20 6c 69 62 74 6f 6f 6c 2d 63 6f 6e 74 72   A libtool-contr
7520: 6f 6c 6c 65 64 20 6c 69 62 72 61 72 79 2e 0a 0a  olled library...
7530: 09 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22  .if test "$prev"
7540: 20 3d 20 64 6c 66 69 6c 65 73 3b 20 74 68 65 6e   = dlfiles; then
7550: 0a 09 20 20 23 20 54 68 69 73 20 6c 69 62 72 61  ..  # This libra
7560: 72 79 20 77 61 73 20 73 70 65 63 69 66 69 65 64  ry was specified
7570: 20 77 69 74 68 20 2d 64 6c 6f 70 65 6e 2e 0a 09   with -dlopen...
7580: 20 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69    dlfiles="$dlfi
7590: 6c 65 73 20 24 61 72 67 22 0a 09 20 20 70 72 65  les $arg"..  pre
75a0: 76 3d 0a 09 65 6c 69 66 20 74 65 73 74 20 22 24  v=..elif test "$
75b0: 70 72 65 76 22 20 3d 20 64 6c 70 72 65 66 69 6c  prev" = dlprefil
75c0: 65 73 3b 20 74 68 65 6e 0a 09 20 20 23 20 54 68  es; then..  # Th
75d0: 65 20 6c 69 62 72 61 72 79 20 77 61 73 20 73 70  e library was sp
75e0: 65 63 69 66 69 65 64 20 77 69 74 68 20 2d 64 6c  ecified with -dl
75f0: 70 72 65 6f 70 65 6e 2e 0a 09 20 20 64 6c 70 72  preopen...  dlpr
7600: 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69  efiles="$dlprefi
7610: 6c 65 73 20 24 61 72 67 22 0a 09 20 20 70 72 65  les $arg"..  pre
7620: 76 3d 0a 09 65 6c 73 65 0a 09 20 20 64 65 70 6c  v=..else..  depl
7630: 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 24 61  ibs="$deplibs $a
7640: 72 67 22 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75  rg"..fi..continu
7650: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 53  e..;;..      # S
7660: 6f 6d 65 20 6f 74 68 65 72 20 63 6f 6d 70 69 6c  ome other compil
7670: 65 72 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20  er argument..   
7680: 20 20 20 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77 6e     *)..# Unknown
7690: 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f   arguments in bo
76a0: 74 68 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  th finalize_comm
76b0: 61 6e 64 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f  and and compile_
76c0: 63 6f 6d 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20  command need..# 
76d0: 74 6f 20 62 65 20 61 65 73 74 68 65 74 69 63 61  to be aesthetica
76e0: 6c 6c 79 20 71 75 6f 74 65 64 20 62 65 63 61 75  lly quoted becau
76f0: 73 65 20 74 68 65 79 20 61 72 65 20 65 76 61 6c  se they are eval
7700: 65 64 20 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60  ed later...arg=`
7710: 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20  $echo "X$arg" | 
7720: 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
7730: 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 63 61  uote_subst"`..ca
7740: 73 65 20 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b  se $arg in..*[\[
7750: 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b  \~\#\^\&\*\(\)\{
7760: 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20  \}\|\;\<\>\?\'\ 
7770: 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20  \.]*|*]*|"")..  
7780: 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09  arg="\"$arg\""..
7790: 20 20 3b 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a 20    ;;..esac..;;. 
77a0: 20 20 20 20 20 65 73 61 63 20 23 20 61 72 67 0a       esac # arg.
77b0: 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 61 63 74  .      # Now act
77c0: 75 61 6c 6c 79 20 73 75 62 73 74 69 74 75 74 65  ually substitute
77d0: 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 6e   the argument in
77e0: 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 2e  to the commands.
77f0: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
7800: 6e 20 22 24 61 72 67 22 3b 20 74 68 65 6e 0a 09  n "$arg"; then..
7810: 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d  compile_command=
7820: 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  "$compile_comman
7830: 64 20 24 61 72 67 22 0a 09 66 69 6e 61 6c 69 7a  d $arg"..finaliz
7840: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  e_command="$fina
7850: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72  lize_command $ar
7860: 67 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  g".      fi.    
7870: 64 6f 6e 65 20 23 20 61 72 67 75 6d 65 6e 74 20  done # argument 
7880: 70 61 72 73 69 6e 67 20 6c 6f 6f 70 0a 0a 20 20  parsing loop..  
7890: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70    if test -n "$p
78a0: 72 65 76 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  rev"; then.     
78b0: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
78c0: 65 3a 20 74 68 65 20 5c 60 24 70 72 65 76 61 72  e: the \`$prevar
78d0: 67 27 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  g' option requir
78e0: 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 20  es an argument" 
78f0: 31 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f  1>&2.      $echo
7900: 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20   "$help" 1>&2.  
7910: 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66      exit 1.    f
7920: 69 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 22  i..    if test "
7930: 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 22  $export_dynamic"
7940: 20 3d 20 79 65 73 20 26 26 20 74 65 73 74 20 2d   = yes && test -
7950: 6e 20 22 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d  n "$export_dynam
7960: 69 63 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74  ic_flag_spec"; t
7970: 68 65 6e 0a 20 20 20 20 20 20 65 76 61 6c 20 61  hen.      eval a
7980: 72 67 3d 5c 22 24 65 78 70 6f 72 74 5f 64 79 6e  rg=\"$export_dyn
7990: 61 6d 69 63 5f 66 6c 61 67 5f 73 70 65 63 5c 22  amic_flag_spec\"
79a0: 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63  .      compile_c
79b0: 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
79c0: 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20  _command $arg". 
79d0: 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f       finalize_co
79e0: 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65  mmand="$finalize
79f0: 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20  _command $arg". 
7a00: 20 20 20 66 69 0a 0a 20 20 20 20 23 20 63 61 6c     fi..    # cal
7a10: 63 75 6c 61 74 65 20 74 68 65 20 6e 61 6d 65 20  culate the name 
7a20: 6f 66 20 74 68 65 20 66 69 6c 65 2c 20 77 69 74  of the file, wit
7a30: 68 6f 75 74 20 69 74 73 20 64 69 72 65 63 74 6f  hout its directo
7a40: 72 79 0a 20 20 20 20 6f 75 74 70 75 74 6e 61 6d  ry.    outputnam
7a50: 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 75 74 70  e=`$echo "X$outp
7a60: 75 74 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ut" | $Xsed -e '
7a70: 73 25 5e 2e 2a 2f 25 25 27 60 0a 20 20 20 20 6c  s%^.*/%%'`.    l
7a80: 69 62 6f 62 6a 73 5f 73 61 76 65 3d 22 24 6c 69  ibobjs_save="$li
7a90: 62 6f 62 6a 73 22 0a 0a 20 20 20 20 69 66 20 74  bobjs"..    if t
7aa0: 65 73 74 20 2d 6e 20 22 24 73 68 6c 69 62 70 61  est -n "$shlibpa
7ab0: 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 20 20  th_var"; then.  
7ac0: 20 20 20 20 23 20 67 65 74 20 74 68 65 20 64 69      # get the di
7ad0: 72 65 63 74 6f 72 69 65 73 20 6c 69 73 74 65 64  rectories listed
7ae0: 20 69 6e 20 24 73 68 6c 69 62 70 61 74 68 5f 76   in $shlibpath_v
7af0: 61 72 0a 20 20 20 20 20 20 65 76 61 6c 20 73 68  ar.      eval sh
7b00: 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d  lib_search_path=
7b10: 5c 60 5c 24 65 63 68 6f 20 5c 22 58 5c 24 7b 24  \`\$echo \"X\${$
7b20: 73 68 6c 69 62 70 61 74 68 5f 76 61 72 7d 5c 22  shlibpath_var}\"
7b30: 20 5c 7c 20 5c 24 58 73 65 64 20 2d 65 20 5c 27   \| \$Xsed -e \'
7b40: 73 2f 3a 2f 20 2f 67 5c 27 5c 60 0a 20 20 20 20  s/:/ /g\'\`.    
7b50: 65 6c 73 65 0a 20 20 20 20 20 20 73 68 6c 69 62  else.      shlib
7b60: 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 0a 20 20  _search_path=.  
7b70: 20 20 66 69 0a 20 20 20 20 65 76 61 6c 20 73 79    fi.    eval sy
7b80: 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  s_lib_search_pat
7b90: 68 3d 5c 22 24 73 79 73 5f 6c 69 62 5f 73 65 61  h=\"$sys_lib_sea
7ba0: 72 63 68 5f 70 61 74 68 5f 73 70 65 63 5c 22 0a  rch_path_spec\".
7bb0: 20 20 20 20 65 76 61 6c 20 73 79 73 5f 6c 69 62      eval sys_lib
7bc0: 5f 64 6c 73 65 61 72 63 68 5f 70 61 74 68 3d 5c  _dlsearch_path=\
7bd0: 22 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72  "$sys_lib_dlsear
7be0: 63 68 5f 70 61 74 68 5f 73 70 65 63 5c 22 0a 0a  ch_path_spec\"..
7bf0: 20 20 20 20 6f 75 74 70 75 74 5f 6f 62 6a 64 69      output_objdi
7c00: 72 3d 60 24 65 63 68 6f 20 22 58 24 6f 75 74 70  r=`$echo "X$outp
7c10: 75 74 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ut" | $Xsed -e '
7c20: 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20  s%/[^/]*$%%'`.  
7c30: 20 20 69 66 20 74 65 73 74 20 22 58 24 6f 75 74    if test "X$out
7c40: 70 75 74 5f 6f 62 6a 64 69 72 22 20 3d 20 22 58  put_objdir" = "X
7c50: 24 6f 75 74 70 75 74 22 3b 20 74 68 65 6e 0a 20  $output"; then. 
7c60: 20 20 20 20 20 6f 75 74 70 75 74 5f 6f 62 6a 64       output_objd
7c70: 69 72 3d 22 24 6f 62 6a 64 69 72 22 0a 20 20 20  ir="$objdir".   
7c80: 20 65 6c 73 65 0a 20 20 20 20 20 20 6f 75 74 70   else.      outp
7c90: 75 74 5f 6f 62 6a 64 69 72 3d 22 24 6f 75 74 70  ut_objdir="$outp
7ca0: 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 62 6a 64 69  ut_objdir/$objdi
7cb0: 72 22 0a 20 20 20 20 66 69 0a 20 20 20 20 23 20  r".    fi.    # 
7cc0: 43 72 65 61 74 65 20 74 68 65 20 6f 62 6a 65 63  Create the objec
7cd0: 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20  t directory..   
7ce0: 20 69 66 20 74 65 73 74 20 21 20 2d 64 20 24 6f   if test ! -d $o
7cf0: 75 74 70 75 74 5f 6f 62 6a 64 69 72 3b 20 74 68  utput_objdir; th
7d00: 65 6e 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22  en.      $show "
7d10: 24 6d 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f  $mkdir $output_o
7d20: 62 6a 64 69 72 22 0a 20 20 20 20 20 20 24 72 75  bjdir".      $ru
7d30: 6e 20 24 6d 6b 64 69 72 20 24 6f 75 74 70 75 74  n $mkdir $output
7d40: 5f 6f 62 6a 64 69 72 0a 20 20 20 20 20 20 73 74  _objdir.      st
7d50: 61 74 75 73 3d 24 3f 0a 20 20 20 20 20 20 69 66  atus=$?.      if
7d60: 20 74 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e   test $status -n
7d70: 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64  e 0 && test ! -d
7d80: 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3b   $output_objdir;
7d90: 20 74 68 65 6e 0a 09 65 78 69 74 20 24 73 74 61   then..exit $sta
7da0: 74 75 73 0a 20 20 20 20 20 20 66 69 0a 20 20 20  tus.      fi.   
7db0: 20 66 69 0a 0a 20 20 20 20 23 20 44 65 74 65 72   fi..    # Deter
7dc0: 6d 69 6e 65 20 74 68 65 20 74 79 70 65 20 6f 66  mine the type of
7dd0: 20 6f 75 74 70 75 74 0a 20 20 20 20 63 61 73 65   output.    case
7de0: 20 24 6f 75 74 70 75 74 20 69 6e 0a 20 20 20 20   $output in.    
7df0: 22 22 29 0a 20 20 20 20 20 20 24 65 63 68 6f 20  "").      $echo 
7e00: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20  "$modename: you 
7e10: 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e 20  must specify an 
7e20: 6f 75 74 70 75 74 20 66 69 6c 65 22 20 31 3e 26  output file" 1>&
7e30: 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  2.      $echo "$
7e40: 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20  help" 1>&2.     
7e50: 20 65 78 69 74 20 31 0a 20 20 20 20 20 20 3b 3b   exit 1.      ;;
7e60: 0a 20 20 20 20 2a 2e 24 6c 69 62 65 78 74 29 20  .    *.$libext) 
7e70: 6c 69 6e 6b 6d 6f 64 65 3d 6f 6c 64 6c 69 62 20  linkmode=oldlib 
7e80: 3b 3b 0a 20 20 20 20 2a 2e 6c 6f 20 7c 20 2a 2e  ;;.    *.lo | *.
7e90: 24 6f 62 6a 65 78 74 29 20 6c 69 6e 6b 6d 6f 64  $objext) linkmod
7ea0: 65 3d 6f 62 6a 20 3b 3b 0a 20 20 20 20 2a 2e 6c  e=obj ;;.    *.l
7eb0: 61 29 20 6c 69 6e 6b 6d 6f 64 65 3d 6c 69 62 20  a) linkmode=lib 
7ec0: 3b 3b 0a 20 20 20 20 2a 29 20 6c 69 6e 6b 6d 6f  ;;.    *) linkmo
7ed0: 64 65 3d 70 72 6f 67 20 3b 3b 20 23 20 41 6e 79  de=prog ;; # Any
7ee0: 74 68 69 6e 67 20 65 6c 73 65 20 73 68 6f 75 6c  thing else shoul
7ef0: 64 20 62 65 20 61 20 70 72 6f 67 72 61 6d 2e 0a  d be a program..
7f00: 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 73 70      esac..    sp
7f10: 65 63 69 61 6c 64 65 70 6c 69 62 73 3d 0a 20 20  ecialdeplibs=.  
7f20: 20 20 6c 69 62 73 3d 0a 20 20 20 20 23 20 46 69    libs=.    # Fi
7f30: 6e 64 20 61 6c 6c 20 69 6e 74 65 72 64 65 70 65  nd all interdepe
7f40: 6e 64 65 6e 74 20 64 65 70 6c 69 62 73 20 62 79  ndent deplibs by
7f50: 20 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20 6c   searching for l
7f60: 69 62 72 61 72 69 65 73 0a 20 20 20 20 23 20 74  ibraries.    # t
7f70: 68 61 74 20 61 72 65 20 6c 69 6e 6b 65 64 20 6d  hat are linked m
7f80: 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 28 65  ore than once (e
7f90: 2e 67 2e 20 2d 6c 61 20 2d 6c 62 20 2d 6c 61 29  .g. -la -lb -la)
7fa0: 0a 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62 20  .    for deplib 
7fb0: 69 6e 20 24 64 65 70 6c 69 62 73 3b 20 64 6f 0a  in $deplibs; do.
7fc0: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 58        if test "X
7fd0: 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73 22  $duplicate_deps"
7fe0: 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e   = "Xyes" ; then
7ff0: 0a 09 63 61 73 65 20 22 24 6c 69 62 73 20 22 20  ..case "$libs " 
8000: 69 6e 0a 09 2a 22 20 24 64 65 70 6c 69 62 20 22  in..*" $deplib "
8010: 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c 69 62  *) specialdeplib
8020: 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70 6c 69  s="$specialdepli
8030: 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09  bs $deplib" ;;..
8040: 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a 20 20  esac.      fi.  
8050: 20 20 20 20 6c 69 62 73 3d 22 24 6c 69 62 73 20      libs="$libs 
8060: 24 64 65 70 6c 69 62 22 0a 20 20 20 20 64 6f 6e  $deplib".    don
8070: 65 0a 20 20 20 20 64 65 70 6c 69 62 73 3d 0a 20  e.    deplibs=. 
8080: 20 20 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79     newdependency
8090: 5f 6c 69 62 73 3d 0a 20 20 20 20 6e 65 77 6c 69  _libs=.    newli
80a0: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 0a 20  b_search_path=. 
80b0: 20 20 20 6e 65 65 64 5f 72 65 6c 69 6e 6b 3d 6e     need_relink=n
80c0: 6f 20 23 20 77 68 65 74 68 65 72 20 77 65 27 72  o # whether we'r
80d0: 65 20 6c 69 6e 6b 69 6e 67 20 61 6e 79 20 75 6e  e linking any un
80e0: 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 74 6f 6f  installed libtoo
80f0: 6c 20 6c 69 62 72 61 72 69 65 73 0a 20 20 20 20  l libraries.    
8100: 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d  notinst_deplibs=
8110: 20 23 20 6e 6f 74 2d 69 6e 73 74 61 6c 6c 65 64   # not-installed
8120: 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
8130: 65 73 0a 20 20 20 20 6e 6f 74 69 6e 73 74 5f 70  es.    notinst_p
8140: 61 74 68 3d 20 23 20 70 61 74 68 73 20 74 68 61  ath= # paths tha
8150: 74 20 63 6f 6e 74 61 69 6e 20 6e 6f 74 2d 69 6e  t contain not-in
8160: 73 74 61 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c 20  stalled libtool 
8170: 6c 69 62 72 61 72 69 65 73 0a 20 20 20 20 63 61  libraries.    ca
8180: 73 65 20 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a  se $linkmode in.
8190: 20 20 20 20 6c 69 62 29 0a 09 70 61 73 73 65 73      lib)..passes
81a0: 3d 22 63 6f 6e 76 20 6c 69 6e 6b 22 0a 09 66 6f  ="conv link"..fo
81b0: 72 20 66 69 6c 65 20 69 6e 20 24 64 6c 66 69 6c  r file in $dlfil
81c0: 65 73 20 24 64 6c 70 72 65 66 69 6c 65 73 3b 20  es $dlprefiles; 
81d0: 64 6f 0a 09 20 20 63 61 73 65 20 24 66 69 6c 65  do..  case $file
81e0: 20 69 6e 0a 09 20 20 2a 2e 6c 61 29 20 3b 3b 0a   in..  *.la) ;;.
81f0: 09 20 20 2a 29 0a 09 20 20 20 20 24 65 63 68 6f  .  *)..    $echo
8200: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 62   "$modename: lib
8210: 72 61 72 69 65 73 20 63 61 6e 20 5c 60 2d 64 6c  raries can \`-dl
8220: 6f 70 65 6e 27 20 6f 6e 6c 79 20 6c 69 62 74 6f  open' only libto
8230: 6f 6c 20 6c 69 62 72 61 72 69 65 73 3a 20 24 66  ol libraries: $f
8240: 69 6c 65 22 20 31 3e 26 32 0a 09 20 20 20 20 65  ile" 1>&2..    e
8250: 78 69 74 20 31 0a 09 20 20 20 20 3b 3b 0a 09 20  xit 1..    ;;.. 
8260: 20 65 73 61 63 0a 09 64 6f 6e 65 0a 09 3b 3b 0a   esac..done..;;.
8270: 20 20 20 20 70 72 6f 67 29 0a 09 63 6f 6d 70 69      prog)..compi
8280: 6c 65 5f 64 65 70 6c 69 62 73 3d 0a 09 66 69 6e  le_deplibs=..fin
8290: 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 0a 09  alize_deplibs=..
82a0: 61 6c 6c 64 65 70 6c 69 62 73 3d 6e 6f 0a 09 6e  alldeplibs=no..n
82b0: 65 77 64 6c 66 69 6c 65 73 3d 0a 09 6e 65 77 64  ewdlfiles=..newd
82c0: 6c 70 72 65 66 69 6c 65 73 3d 0a 09 70 61 73 73  lprefiles=..pass
82d0: 65 73 3d 22 63 6f 6e 76 20 73 63 61 6e 20 64 6c  es="conv scan dl
82e0: 6f 70 65 6e 20 64 6c 70 72 65 6f 70 65 6e 20 6c  open dlpreopen l
82f0: 69 6e 6b 22 0a 09 3b 3b 0a 20 20 20 20 2a 29 20  ink"..;;.    *) 
8300: 20 70 61 73 73 65 73 3d 22 63 6f 6e 76 22 0a 09   passes="conv"..
8310: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 20 20 20 20  ;;.    esac.    
8320: 66 6f 72 20 70 61 73 73 20 69 6e 20 24 70 61 73  for pass in $pas
8330: 73 65 73 3b 20 64 6f 0a 20 20 20 20 20 20 69 66  ses; do.      if
8340: 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20   test $linkmode 
8350: 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 23 20  = prog; then..# 
8360: 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20  Determine which 
8370: 66 69 6c 65 73 20 74 6f 20 70 72 6f 63 65 73 73  files to process
8380: 0a 09 63 61 73 65 20 24 70 61 73 73 20 69 6e 0a  ..case $pass in.
8390: 09 64 6c 6f 70 65 6e 29 0a 09 20 20 6c 69 62 73  .dlopen)..  libs
83a0: 3d 22 24 64 6c 66 69 6c 65 73 22 0a 09 20 20 73  ="$dlfiles"..  s
83b0: 61 76 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65  ave_deplibs="$de
83c0: 70 6c 69 62 73 22 20 23 20 43 6f 6c 6c 65 63 74  plibs" # Collect
83d0: 20 64 6c 70 72 65 6f 70 65 6e 65 64 20 6c 69 62   dlpreopened lib
83e0: 72 61 72 69 65 73 0a 09 20 20 64 65 70 6c 69 62  raries..  deplib
83f0: 73 3d 0a 09 20 20 3b 3b 0a 09 64 6c 70 72 65 6f  s=..  ;;..dlpreo
8400: 70 65 6e 29 20 6c 69 62 73 3d 22 24 64 6c 70 72  pen) libs="$dlpr
8410: 65 66 69 6c 65 73 22 20 3b 3b 0a 09 6c 69 6e 6b  efiles" ;;..link
8420: 29 20 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  ) libs="$deplibs
8430: 20 25 44 45 50 4c 49 42 53 25 20 24 64 65 70 65   %DEPLIBS% $depe
8440: 6e 64 65 6e 63 79 5f 6c 69 62 73 22 20 3b 3b 0a  ndency_libs" ;;.
8450: 09 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a 20  .esac.      fi. 
8460: 20 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62 20       for deplib 
8470: 69 6e 20 24 6c 69 62 73 3b 20 64 6f 0a 09 6c 69  in $libs; do..li
8480: 62 3d 0a 09 66 6f 75 6e 64 3d 6e 6f 0a 09 63 61  b=..found=no..ca
8490: 73 65 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 2d  se $deplib in..-
84a0: 6c 2a 29 0a 09 20 20 69 66 20 74 65 73 74 20 24  l*)..  if test $
84b0: 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6f 6c 64 6c 69  linkmode = oldli
84c0: 62 20 26 26 20 74 65 73 74 20 24 6c 69 6e 6b 6d  b && test $linkm
84d0: 6f 64 65 20 3d 20 6f 62 6a 3b 20 74 68 65 6e 0a  ode = obj; then.
84e0: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
84f0: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
8500: 5c 60 2d 6c 27 20 69 73 20 69 67 6e 6f 72 65 64  \`-l' is ignored
8510: 20 66 6f 72 20 61 72 63 68 69 76 65 73 2f 6f 62   for archives/ob
8520: 6a 65 63 74 73 3a 20 24 64 65 70 6c 69 62 22 20  jects: $deplib" 
8530: 31 3e 26 32 0a 09 20 20 20 20 63 6f 6e 74 69 6e  1>&2..    contin
8540: 75 65 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74  ue..  fi..  if t
8550: 65 73 74 20 24 70 61 73 73 20 3d 20 63 6f 6e 76  est $pass = conv
8560: 3b 20 74 68 65 6e 0a 09 20 20 20 20 64 65 70 6c  ; then..    depl
8570: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65  ibs="$deplib $de
8580: 70 6c 69 62 73 22 0a 09 20 20 20 20 63 6f 6e 74  plibs"..    cont
8590: 69 6e 75 65 0a 09 20 20 66 69 0a 09 20 20 6e 61  inue..  fi..  na
85a0: 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 64 65 70  me=`$echo "X$dep
85b0: 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20  lib" | $Xsed -e 
85c0: 27 73 2f 5e 2d 6c 2f 2f 27 60 0a 09 20 20 66 6f  's/^-l//'`..  fo
85d0: 72 20 73 65 61 72 63 68 64 69 72 20 69 6e 20 24  r searchdir in $
85e0: 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
85f0: 74 68 20 24 6c 69 62 5f 73 65 61 72 63 68 5f 70  th $lib_search_p
8600: 61 74 68 20 24 73 79 73 5f 6c 69 62 5f 73 65 61  ath $sys_lib_sea
8610: 72 63 68 5f 70 61 74 68 20 24 73 68 6c 69 62 5f  rch_path $shlib_
8620: 73 65 61 72 63 68 5f 70 61 74 68 3b 20 64 6f 0a  search_path; do.
8630: 09 20 20 20 20 23 20 53 65 61 72 63 68 20 74 68  .    # Search th
8640: 65 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  e libtool librar
8650: 79 0a 09 20 20 20 20 6c 69 62 3d 22 24 73 65 61  y..    lib="$sea
8660: 72 63 68 64 69 72 2f 6c 69 62 24 7b 6e 61 6d 65  rchdir/lib${name
8670: 7d 2e 6c 61 22 0a 09 20 20 20 20 69 66 20 74 65  }.la"..    if te
8680: 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20 74 68  st -f "$lib"; th
8690: 65 6e 0a 09 20 20 20 20 20 20 66 6f 75 6e 64 3d  en..      found=
86a0: 79 65 73 0a 09 20 20 20 20 20 20 62 72 65 61 6b  yes..      break
86b0: 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65  ..    fi..  done
86c0: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 66 6f  ..  if test "$fo
86d0: 75 6e 64 22 20 21 3d 20 79 65 73 3b 20 74 68 65  und" != yes; the
86e0: 6e 0a 09 20 20 20 20 23 20 64 65 70 6c 69 62 20  n..    # deplib 
86f0: 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20  doesn't seem to 
8700: 62 65 20 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62  be a libtool lib
8710: 72 61 72 79 0a 09 20 20 20 20 69 66 20 74 65 73  rary..    if tes
8720: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61  t "$linkmode,$pa
8730: 73 73 22 20 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b  ss" = "prog,link
8740: 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 63  "; then..      c
8750: 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22  ompile_deplibs="
8760: 24 64 65 70 6c 69 62 20 24 63 6f 6d 70 69 6c 65  $deplib $compile
8770: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20  _deplibs"..     
8780: 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62   finalize_deplib
8790: 73 3d 22 24 64 65 70 6c 69 62 20 24 66 69 6e 61  s="$deplib $fina
87a0: 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20  lize_deplibs".. 
87b0: 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 64     else..      d
87c0: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20  eplibs="$deplib 
87d0: 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20  $deplibs"..     
87e0: 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20   test $linkmode 
87f0: 3d 20 6c 69 62 20 26 26 20 6e 65 77 64 65 70 65  = lib && newdepe
8800: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64 65  ndency_libs="$de
8810: 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64 65  plib $newdepende
8820: 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 20 20 66  ncy_libs"..    f
8830: 69 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a  i..    continue.
8840: 09 20 20 66 69 0a 09 20 20 3b 3b 20 23 20 2d 6c  .  fi..  ;; # -l
8850: 0a 09 2d 4c 2a 29 0a 09 20 20 63 61 73 65 20 24  ..-L*)..  case $
8860: 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a 09 20 20 6c  linkmode in..  l
8870: 69 62 29 0a 09 20 20 20 20 64 65 70 6c 69 62 73  ib)..    deplibs
8880: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
8890: 62 73 22 0a 09 20 20 20 20 74 65 73 74 20 24 70  bs"..    test $p
88a0: 61 73 73 20 3d 20 63 6f 6e 76 20 26 26 20 63 6f  ass = conv && co
88b0: 6e 74 69 6e 75 65 0a 09 20 20 20 20 6e 65 77 64  ntinue..    newd
88c0: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
88d0: 24 64 65 70 6c 69 62 20 24 6e 65 77 64 65 70 65  $deplib $newdepe
88e0: 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20  ndency_libs"..  
88f0: 20 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f    newlib_search_
8900: 70 61 74 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65  path="$newlib_se
8910: 61 72 63 68 5f 70 61 74 68 20 22 60 24 65 63 68  arch_path "`$ech
8920: 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c 20 24  o "X$deplib" | $
8930: 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f  Xsed -e 's/^-L//
8940: 27 60 0a 09 20 20 20 20 3b 3b 0a 09 20 20 70 72  '`..    ;;..  pr
8950: 6f 67 29 0a 09 20 20 20 20 69 66 20 74 65 73 74  og)..    if test
8960: 20 24 70 61 73 73 20 3d 20 63 6f 6e 76 3b 20 74   $pass = conv; t
8970: 68 65 6e 0a 09 20 20 20 20 20 20 64 65 70 6c 69  hen..      depli
8980: 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70  bs="$deplib $dep
8990: 6c 69 62 73 22 0a 09 20 20 20 20 20 20 63 6f 6e  libs"..      con
89a0: 74 69 6e 75 65 0a 09 20 20 20 20 66 69 0a 09 20  tinue..    fi.. 
89b0: 20 20 20 69 66 20 74 65 73 74 20 24 70 61 73 73     if test $pass
89c0: 20 3d 20 73 63 61 6e 3b 20 74 68 65 6e 0a 09 20   = scan; then.. 
89d0: 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64       deplibs="$d
89e0: 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a  eplib $deplibs".
89f0: 09 20 20 20 20 20 20 6e 65 77 6c 69 62 5f 73 65  .      newlib_se
8a00: 61 72 63 68 5f 70 61 74 68 3d 22 24 6e 65 77 6c  arch_path="$newl
8a10: 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20 22  ib_search_path "
8a20: 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c 69 62  `$echo "X$deplib
8a30: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f  " | $Xsed -e 's/
8a40: 5e 2d 4c 2f 2f 27 60 0a 09 20 20 20 20 65 6c 73  ^-L//'`..    els
8a50: 65 0a 09 20 20 20 20 20 20 63 6f 6d 70 69 6c 65  e..      compile
8a60: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
8a70: 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  b $compile_depli
8a80: 62 73 22 0a 09 20 20 20 20 20 20 66 69 6e 61 6c  bs"..      final
8a90: 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65  ize_deplibs="$de
8aa0: 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64  plib $finalize_d
8ab0: 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66 69 0a  eplibs"..    fi.
8ac0: 09 20 20 20 20 3b 3b 0a 09 20 20 2a 29 0a 09 20  .    ;;..  *).. 
8ad0: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
8ae0: 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60  ame: warning: \`
8af0: 2d 4c 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66  -L' is ignored f
8b00: 6f 72 20 61 72 63 68 69 76 65 73 2f 6f 62 6a 65  or archives/obje
8b10: 63 74 73 3a 20 24 64 65 70 6c 69 62 22 20 31 3e  cts: $deplib" 1>
8b20: 26 32 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  &2..    ;;..  es
8b30: 61 63 20 23 20 6c 69 6e 6b 6d 6f 64 65 0a 09 20  ac # linkmode.. 
8b40: 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 20   continue..  ;; 
8b50: 23 20 2d 4c 0a 09 2d 52 2a 29 0a 09 20 20 69 66  # -L..-R*)..  if
8b60: 20 74 65 73 74 20 24 70 61 73 73 20 3d 20 6c 69   test $pass = li
8b70: 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20 64 69  nk; then..    di
8b80: 72 3d 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c  r=`$echo "X$depl
8b90: 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ib" | $Xsed -e '
8ba0: 73 2f 5e 2d 52 2f 2f 27 60 0a 09 20 20 20 20 23  s/^-R//'`..    #
8bb0: 20 4d 61 6b 65 20 73 75 72 65 20 74 68 65 20 78   Make sure the x
8bc0: 72 70 61 74 68 20 63 6f 6e 74 61 69 6e 73 20 6f  rpath contains o
8bd0: 6e 6c 79 20 75 6e 69 71 75 65 20 64 69 72 65 63  nly unique direc
8be0: 74 6f 72 69 65 73 2e 0a 09 20 20 20 20 63 61 73  tories...    cas
8bf0: 65 20 22 24 78 72 70 61 74 68 20 22 20 69 6e 0a  e "$xrpath " in.
8c00: 09 20 20 20 20 2a 22 20 24 64 69 72 20 22 2a 29  .    *" $dir "*)
8c10: 20 3b 3b 0a 09 20 20 20 20 2a 29 20 78 72 70 61   ;;..    *) xrpa
8c20: 74 68 3d 22 24 78 72 70 61 74 68 20 24 64 69 72  th="$xrpath $dir
8c30: 22 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09  " ;;..    esac..
8c40: 20 20 66 69 0a 09 20 20 64 65 70 6c 69 62 73 3d    fi..  deplibs=
8c50: 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62  "$deplib $deplib
8c60: 73 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  s"..  continue..
8c70: 20 20 3b 3b 0a 09 2a 2e 6c 61 29 20 6c 69 62 3d    ;;..*.la) lib=
8c80: 22 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 2a 2e  "$deplib" ;;..*.
8c90: 24 6c 69 62 65 78 74 29 0a 09 20 20 69 66 20 74  $libext)..  if t
8ca0: 65 73 74 20 24 70 61 73 73 20 3d 20 63 6f 6e 76  est $pass = conv
8cb0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 64 65 70 6c  ; then..    depl
8cc0: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65  ibs="$deplib $de
8cd0: 70 6c 69 62 73 22 0a 09 20 20 20 20 63 6f 6e 74  plibs"..    cont
8ce0: 69 6e 75 65 0a 09 20 20 66 69 0a 09 20 20 63 61  inue..  fi..  ca
8cf0: 73 65 20 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a  se $linkmode in.
8d00: 09 20 20 6c 69 62 29 0a 09 20 20 20 20 69 66 20  .  lib)..    if 
8d10: 74 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63  test "$deplibs_c
8d20: 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20  heck_method" != 
8d30: 70 61 73 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09  pass_all; then..
8d40: 20 20 20 20 20 20 65 63 68 6f 0a 09 20 20 20 20        echo..    
8d50: 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e    echo "*** Warn
8d60: 69 6e 67 3a 20 54 72 79 69 6e 67 20 74 6f 20 6c  ing: Trying to l
8d70: 69 6e 6b 20 77 69 74 68 20 73 74 61 74 69 63 20  ink with static 
8d80: 6c 69 62 20 61 72 63 68 69 76 65 20 24 64 65 70  lib archive $dep
8d90: 6c 69 62 2e 22 0a 09 20 20 20 20 20 20 65 63 68  lib."..      ech
8da0: 6f 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68  o "*** I have th
8db0: 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20  e capability to 
8dc0: 6d 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72  make that librar
8dd0: 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  y automatically 
8de0: 6c 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 20  link in when".. 
8df0: 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 79       echo "*** y
8e00: 6f 75 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20  ou link to this 
8e10: 6c 69 62 72 61 72 79 2e 20 20 42 75 74 20 49 20  library.  But I 
8e20: 63 61 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73  can only do this
8e30: 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 22 0a   if you have a".
8e40: 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  .      echo "***
8e50: 20 73 68 61 72 65 64 20 76 65 72 73 69 6f 6e 20   shared version 
8e60: 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2c 20  of the library, 
8e70: 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74  which you do not
8e80: 20 61 70 70 65 61 72 20 74 6f 20 68 61 76 65 22   appear to have"
8e90: 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a  ..      echo "**
8ea0: 2a 20 62 65 63 61 75 73 65 20 74 68 65 20 66 69  * because the fi
8eb0: 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 2e 24  le extensions .$
8ec0: 6c 69 62 65 78 74 20 6f 66 20 74 68 69 73 20 61  libext of this a
8ed0: 72 67 75 6d 65 6e 74 20 6d 61 6b 65 73 20 6d 65  rgument makes me
8ee0: 20 62 65 6c 69 65 76 65 22 0a 09 20 20 20 20 20   believe"..     
8ef0: 20 65 63 68 6f 20 22 2a 2a 2a 20 74 68 61 74 20   echo "*** that 
8f00: 69 74 20 69 73 20 6a 75 73 74 20 61 20 73 74 61  it is just a sta
8f10: 74 69 63 20 61 72 63 68 69 76 65 20 74 68 61 74  tic archive that
8f20: 20 49 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73   I should not us
8f30: 65 64 20 68 65 72 65 2e 22 0a 09 20 20 20 20 65  ed here."..    e
8f40: 6c 73 65 0a 09 20 20 20 20 20 20 65 63 68 6f 0a  lse..      echo.
8f50: 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  .      echo "***
8f60: 20 57 61 72 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e   Warning: Linkin
8f70: 67 20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62  g the shared lib
8f80: 72 61 72 79 20 24 6f 75 74 70 75 74 20 61 67 61  rary $output aga
8f90: 69 6e 73 74 20 74 68 65 22 0a 09 20 20 20 20 20  inst the"..     
8fa0: 20 65 63 68 6f 20 22 2a 2a 2a 20 73 74 61 74 69   echo "*** stati
8fb0: 63 20 6c 69 62 72 61 72 79 20 24 64 65 70 6c 69  c library $depli
8fc0: 62 20 69 73 20 6e 6f 74 20 70 6f 72 74 61 62 6c  b is not portabl
8fd0: 65 21 22 0a 09 20 20 20 20 20 20 64 65 70 6c 69  e!"..      depli
8fe0: 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70  bs="$deplib $dep
8ff0: 6c 69 62 73 22 0a 09 20 20 20 20 66 69 0a 09 20  libs"..    fi.. 
9000: 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20     continue..   
9010: 20 3b 3b 0a 09 20 20 70 72 6f 67 29 0a 09 20 20   ;;..  prog)..  
9020: 20 20 69 66 20 74 65 73 74 20 24 70 61 73 73 20    if test $pass 
9030: 21 3d 20 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20  != link; then.. 
9040: 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64       deplibs="$d
9050: 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a  eplib $deplibs".
9060: 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
9070: 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73   compile_deplibs
9080: 3d 22 24 64 65 70 6c 69 62 20 24 63 6f 6d 70 69  ="$deplib $compi
9090: 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20  le_deplibs"..   
90a0: 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c     finalize_depl
90b0: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 66 69  ibs="$deplib $fi
90c0: 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a  nalize_deplibs".
90d0: 09 20 20 20 20 66 69 0a 09 20 20 20 20 63 6f 6e  .    fi..    con
90e0: 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20  tinue..    ;;.. 
90f0: 20 65 73 61 63 20 23 20 6c 69 6e 6b 6d 6f 64 65   esac # linkmode
9100: 0a 09 20 20 3b 3b 20 23 20 2a 2e 24 6c 69 62 65  ..  ;; # *.$libe
9110: 78 74 0a 09 2a 2e 6c 6f 20 7c 20 2a 2e 24 6f 62  xt..*.lo | *.$ob
9120: 6a 65 78 74 29 0a 09 20 20 69 66 20 74 65 73 74  jext)..  if test
9130: 20 24 70 61 73 73 20 3d 20 64 6c 70 72 65 6f 70   $pass = dlpreop
9140: 65 6e 20 7c 7c 20 74 65 73 74 20 22 24 64 6c 6f  en || test "$dlo
9150: 70 65 6e 5f 73 75 70 70 6f 72 74 22 20 21 3d 20  pen_support" != 
9160: 79 65 73 20 7c 7c 20 74 65 73 74 20 22 24 62 75  yes || test "$bu
9170: 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73  ild_libtool_libs
9180: 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20  " = no; then..  
9190: 20 20 23 20 49 66 20 74 68 65 72 65 20 69 73 20    # If there is 
91a0: 6e 6f 20 64 6c 6f 70 65 6e 20 73 75 70 70 6f 72  no dlopen suppor
91b0: 74 20 6f 72 20 77 65 27 72 65 20 6c 69 6e 6b 69  t or we're linki
91c0: 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 2c 0a 09  ng statically,..
91d0: 20 20 20 20 23 20 77 65 20 6e 65 65 64 20 74 6f      # we need to
91e0: 20 70 72 65 6c 6f 61 64 2e 0a 09 20 20 20 20 6e   preload...    n
91f0: 65 77 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e  ewdlprefiles="$n
9200: 65 77 64 6c 70 72 65 66 69 6c 65 73 20 24 64 65  ewdlprefiles $de
9210: 70 6c 69 62 22 0a 09 20 20 20 20 63 6f 6d 70 69  plib"..    compi
9220: 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70  le_deplibs="$dep
9230: 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70  lib $compile_dep
9240: 6c 69 62 73 22 0a 09 20 20 20 20 66 69 6e 61 6c  libs"..    final
9250: 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65  ize_deplibs="$de
9260: 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64  plib $finalize_d
9270: 65 70 6c 69 62 73 22 0a 09 20 20 65 6c 73 65 0a  eplibs"..  else.
9280: 09 20 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d  .    newdlfiles=
9290: 22 24 6e 65 77 64 6c 66 69 6c 65 73 20 24 64 65  "$newdlfiles $de
92a0: 70 6c 69 62 22 0a 09 20 20 66 69 0a 09 20 20 63  plib"..  fi..  c
92b0: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 25  ontinue..  ;;..%
92c0: 44 45 50 4c 49 42 53 25 29 0a 09 20 20 61 6c 6c  DEPLIBS%)..  all
92d0: 64 65 70 6c 69 62 73 3d 79 65 73 0a 09 20 20 63  deplibs=yes..  c
92e0: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 65  ontinue..  ;;..e
92f0: 73 61 63 20 23 20 63 61 73 65 20 24 64 65 70 6c  sac # case $depl
9300: 69 62 0a 09 69 66 20 74 65 73 74 20 24 66 6f 75  ib..if test $fou
9310: 6e 64 20 3d 20 79 65 73 20 7c 7c 20 74 65 73 74  nd = yes || test
9320: 20 2d 66 20 22 24 6c 69 62 22 3b 20 74 68 65 6e   -f "$lib"; then
9330: 20 3a 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68   :..else..  $ech
9340: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61  o "$modename: ca
9350: 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 6c 69  nnot find the li
9360: 62 72 61 72 79 20 5c 60 24 6c 69 62 27 22 20 31  brary \`$lib'" 1
9370: 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66  >&2..  exit 1..f
9380: 69 0a 0a 09 23 20 43 68 65 63 6b 20 74 6f 20 73  i...# Check to s
9390: 65 65 20 74 68 61 74 20 74 68 69 73 20 72 65 61  ee that this rea
93a0: 6c 6c 79 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c  lly is a libtool
93b0: 20 61 72 63 68 69 76 65 2e 0a 09 69 66 20 28 24   archive...if ($
93c0: 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20 24 6c  {SED} -e '2q' $l
93d0: 69 62 20 7c 20 65 67 72 65 70 20 22 5e 23 20 47  ib | egrep "^# G
93e0: 65 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50  enerated by .*$P
93f0: 41 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e  ACKAGE") >/dev/n
9400: 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 20 3a  ull 2>&1; then :
9410: 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 20  ..else..  $echo 
9420: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 6c  "$modename: \`$l
9430: 69 62 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c  ib' is not a val
9440: 69 64 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69  id libtool archi
9450: 76 65 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74  ve" 1>&2..  exit
9460: 20 31 0a 09 66 69 0a 0a 09 6c 61 64 69 72 3d 60   1..fi...ladir=`
9470: 24 65 63 68 6f 20 22 58 24 6c 69 62 22 20 7c 20  $echo "X$lib" | 
9480: 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
9490: 5d 2a 24 25 25 27 60 0a 09 74 65 73 74 20 22 58  ]*$%%'`..test "X
94a0: 24 6c 61 64 69 72 22 20 3d 20 22 58 24 6c 69 62  $ladir" = "X$lib
94b0: 22 20 26 26 20 6c 61 64 69 72 3d 22 2e 22 0a 0a  " && ladir="."..
94c0: 09 64 6c 6e 61 6d 65 3d 0a 09 64 6c 6f 70 65 6e  .dlname=..dlopen
94d0: 3d 0a 09 64 6c 70 72 65 6f 70 65 6e 3d 0a 09 6c  =..dlpreopen=..l
94e0: 69 62 64 69 72 3d 0a 09 6c 69 62 72 61 72 79 5f  ibdir=..library_
94f0: 6e 61 6d 65 73 3d 0a 09 6f 6c 64 5f 6c 69 62 72  names=..old_libr
9500: 61 72 79 3d 0a 09 23 20 49 66 20 74 68 65 20 6c  ary=..# If the l
9510: 69 62 72 61 72 79 20 77 61 73 20 69 6e 73 74 61  ibrary was insta
9520: 6c 6c 65 64 20 77 69 74 68 20 61 6e 20 6f 6c 64  lled with an old
9530: 20 72 65 6c 65 61 73 65 20 6f 66 20 6c 69 62 74   release of libt
9540: 6f 6f 6c 2c 0a 09 23 20 69 74 20 77 69 6c 6c 20  ool,..# it will 
9550: 6e 6f 74 20 72 65 64 65 66 69 6e 65 20 76 61 72  not redefine var
9560: 69 61 62 6c 65 20 69 6e 73 74 61 6c 6c 65 64 2e  iable installed.
9570: 0a 09 69 6e 73 74 61 6c 6c 65 64 3d 79 65 73 0a  ..installed=yes.
9580: 0a 09 23 20 52 65 61 64 20 74 68 65 20 2e 6c 61  ..# Read the .la
9590: 20 66 69 6c 65 0a 09 63 61 73 65 20 24 6c 69 62   file..case $lib
95a0: 20 69 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29   in..*/* | *\\*)
95b0: 20 2e 20 24 6c 69 62 20 3b 3b 0a 09 2a 29 20 2e   . $lib ;;..*) .
95c0: 20 2e 2f 24 6c 69 62 20 3b 3b 0a 09 65 73 61 63   ./$lib ;;..esac
95d0: 0a 0a 09 69 66 20 74 65 73 74 20 22 24 6c 69 6e  ...if test "$lin
95e0: 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22  kmode,$pass" = "
95f0: 6c 69 62 2c 6c 69 6e 6b 22 20 7c 7c 0a 09 20 20  lib,link" ||..  
9600: 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
9610: 2c 24 70 61 73 73 22 20 3d 20 22 70 72 6f 67 2c  ,$pass" = "prog,
9620: 73 63 61 6e 22 20 7c 7c 0a 09 20 20 20 7b 20 74  scan" ||..   { t
9630: 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20  est $linkmode = 
9640: 6f 6c 64 6c 69 62 20 26 26 20 74 65 73 74 20 24  oldlib && test $
9650: 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6f 62 6a 3b 20  linkmode = obj; 
9660: 7d 3b 20 74 68 65 6e 0a 09 20 20 20 23 20 41 64  }; then..   # Ad
9670: 64 20 64 6c 5b 70 72 65 5d 6f 70 65 6e 65 64 20  d dl[pre]opened 
9680: 66 69 6c 65 73 20 6f 66 20 64 65 70 6c 69 62 0a  files of deplib.
9690: 09 20 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 6f  .  test -n "$dlo
96a0: 70 65 6e 22 20 26 26 20 64 6c 66 69 6c 65 73 3d  pen" && dlfiles=
96b0: 22 24 64 6c 66 69 6c 65 73 20 24 64 6c 6f 70 65  "$dlfiles $dlope
96c0: 6e 22 0a 09 20 20 74 65 73 74 20 2d 6e 20 22 24  n"..  test -n "$
96d0: 64 6c 70 72 65 6f 70 65 6e 22 20 26 26 20 64 6c  dlpreopen" && dl
96e0: 70 72 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65  prefiles="$dlpre
96f0: 66 69 6c 65 73 20 24 64 6c 70 72 65 6f 70 65 6e  files $dlpreopen
9700: 22 0a 09 66 69 0a 0a 09 69 66 20 74 65 73 74 20  "..fi...if test 
9710: 24 70 61 73 73 20 3d 20 63 6f 6e 76 3b 20 74 68  $pass = conv; th
9720: 65 6e 0a 09 20 20 23 20 4f 6e 6c 79 20 63 68 65  en..  # Only che
9730: 63 6b 20 66 6f 72 20 63 6f 6e 76 65 6e 69 65 6e  ck for convenien
9740: 63 65 20 6c 69 62 72 61 72 69 65 73 0a 09 20 20  ce libraries..  
9750: 64 65 70 6c 69 62 73 3d 22 24 6c 69 62 20 24 64  deplibs="$lib $d
9760: 65 70 6c 69 62 73 22 0a 09 20 20 69 66 20 74 65  eplibs"..  if te
9770: 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b  st -z "$libdir";
9780: 20 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65   then..    if te
9790: 73 74 20 2d 7a 20 22 24 6f 6c 64 5f 6c 69 62 72  st -z "$old_libr
97a0: 61 72 79 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ary"; then..    
97b0: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
97c0: 6d 65 3a 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20  me: cannot find 
97d0: 6e 61 6d 65 20 6f 66 20 6c 69 6e 6b 20 6c 69 62  name of link lib
97e0: 72 61 72 79 20 66 6f 72 20 5c 60 24 6c 69 62 27  rary for \`$lib'
97f0: 22 20 31 3e 26 32 0a 09 20 20 20 20 20 20 65 78  " 1>&2..      ex
9800: 69 74 20 31 0a 09 20 20 20 20 66 69 0a 09 20 20  it 1..    fi..  
9810: 20 20 23 20 49 74 20 69 73 20 61 20 6c 69 62 74    # It is a libt
9820: 6f 6f 6c 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  ool convenience 
9830: 6c 69 62 72 61 72 79 2c 20 73 6f 20 61 64 64 20  library, so add 
9840: 69 6e 20 69 74 73 20 6f 62 6a 65 63 74 73 2e 0a  in its objects..
9850: 09 20 20 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65  .    convenience
9860: 3d 22 24 63 6f 6e 76 65 6e 69 65 6e 63 65 20 24  ="$convenience $
9870: 6c 61 64 69 72 2f 24 6f 62 6a 64 69 72 2f 24 6f  ladir/$objdir/$o
9880: 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 20 20 20  ld_library"..   
9890: 20 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65   old_convenience
98a0: 3d 22 24 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e  ="$old_convenien
98b0: 63 65 20 24 6c 61 64 69 72 2f 24 6f 62 6a 64 69  ce $ladir/$objdi
98c0: 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 0a  r/$old_library".
98d0: 09 20 20 20 20 74 6d 70 5f 6c 69 62 73 3d 0a 09  .    tmp_libs=..
98e0: 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62 20 69      for deplib i
98f0: 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  n $dependency_li
9900: 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 64 65  bs; do..      de
9910: 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24  plibs="$deplib $
9920: 64 65 70 6c 69 62 73 22 0a 20 20 20 20 20 20 20  deplibs".       
9930: 20 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22         if test "
9940: 58 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73  X$duplicate_deps
9950: 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
9960: 6e 0a 09 20 20 20 20 20 20 20 20 63 61 73 65 20  n..        case 
9970: 22 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a  "$tmp_libs " in.
9980: 09 20 20 20 20 20 20 20 20 2a 22 20 24 64 65 70  .        *" $dep
9990: 6c 69 62 20 22 2a 29 20 73 70 65 63 69 61 6c 64  lib "*) speciald
99a0: 65 70 6c 69 62 73 3d 22 24 73 70 65 63 69 61 6c  eplibs="$special
99b0: 64 65 70 6c 69 62 73 20 24 64 65 70 6c 69 62 22  deplibs $deplib"
99c0: 20 3b 3b 0a 09 20 20 20 20 20 20 20 20 65 73 61   ;;..        esa
99d0: 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  c.              
99e0: 66 69 0a 09 20 20 20 20 20 20 74 6d 70 5f 6c 69  fi..      tmp_li
99f0: 62 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20 24 64  bs="$tmp_libs $d
9a00: 65 70 6c 69 62 22 0a 09 20 20 20 20 64 6f 6e 65  eplib"..    done
9a10: 0a 09 20 20 65 6c 69 66 20 74 65 73 74 20 24 6c  ..  elif test $l
9a20: 69 6e 6b 6d 6f 64 65 20 21 3d 20 70 72 6f 67 20  inkmode != prog 
9a30: 26 26 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64  && test $linkmod
9a40: 65 20 21 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09  e != lib; then..
9a50: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
9a60: 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73  name: \`$lib' is
9a70: 20 6e 6f 74 20 61 20 63 6f 6e 76 65 6e 69 65 6e   not a convenien
9a80: 63 65 20 6c 69 62 72 61 72 79 22 20 31 3e 26 32  ce library" 1>&2
9a90: 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20  ..    exit 1..  
9aa0: 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  fi..  continue..
9ab0: 66 69 20 23 20 24 70 61 73 73 20 3d 20 63 6f 6e  fi # $pass = con
9ac0: 76 0a 0a 09 23 20 47 65 74 20 74 68 65 20 6e 61  v...# Get the na
9ad0: 6d 65 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72  me of the librar
9ae0: 79 20 77 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73  y we link agains
9af0: 74 2e 0a 09 6c 69 6e 6b 6c 69 62 3d 0a 09 66 6f  t...linklib=..fo
9b00: 72 20 6c 20 69 6e 20 24 6f 6c 64 5f 6c 69 62 72  r l in $old_libr
9b10: 61 72 79 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d  ary $library_nam
9b20: 65 73 3b 20 64 6f 0a 09 20 20 6c 69 6e 6b 6c 69  es; do..  linkli
9b30: 62 3d 22 24 6c 22 0a 09 64 6f 6e 65 0a 09 69 66  b="$l"..done..if
9b40: 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 6e 6b 6c   test -z "$linkl
9b50: 69 62 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  ib"; then..  $ec
9b60: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63  ho "$modename: c
9b70: 61 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d 65 20  annot find name 
9b80: 6f 66 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20  of link library 
9b90: 66 6f 72 20 5c 60 24 6c 69 62 27 22 20 31 3e 26  for \`$lib'" 1>&
9ba0: 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a  2..  exit 1..fi.
9bb0: 0a 09 23 20 54 68 69 73 20 6c 69 62 72 61 72 79  ..# This library
9bc0: 20 77 61 73 20 73 70 65 63 69 66 69 65 64 20 77   was specified w
9bd0: 69 74 68 20 2d 64 6c 6f 70 65 6e 2e 0a 09 69 66  ith -dlopen...if
9be0: 20 74 65 73 74 20 24 70 61 73 73 20 3d 20 64 6c   test $pass = dl
9bf0: 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 20 20 69 66  open; then..  if
9c00: 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 64 69   test -z "$libdi
9c10: 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  r"; then..    $e
9c20: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
9c30: 63 61 6e 6e 6f 74 20 2d 64 6c 6f 70 65 6e 20 61  cannot -dlopen a
9c40: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62   convenience lib
9c50: 72 61 72 79 3a 20 5c 60 24 6c 69 62 27 22 20 31  rary: \`$lib'" 1
9c60: 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a  >&2..    exit 1.
9c70: 09 20 20 66 69 0a 09 20 20 69 66 20 74 65 73 74  .  fi..  if test
9c80: 20 2d 7a 20 22 24 64 6c 6e 61 6d 65 22 20 7c 7c   -z "$dlname" ||
9c90: 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73   test "$dlopen_s
9ca0: 75 70 70 6f 72 74 22 20 21 3d 20 79 65 73 20 7c  upport" != yes |
9cb0: 7c 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c  | test "$build_l
9cc0: 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 6e  ibtool_libs" = n
9cd0: 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 49  o; then..    # I
9ce0: 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 6c  f there is no dl
9cf0: 6e 61 6d 65 2c 20 6e 6f 20 64 6c 6f 70 65 6e 20  name, no dlopen 
9d00: 73 75 70 70 6f 72 74 20 6f 72 20 77 65 27 72 65  support or we're
9d10: 20 6c 69 6e 6b 69 6e 67 0a 09 20 20 20 20 23 20   linking..    # 
9d20: 73 74 61 74 69 63 61 6c 6c 79 2c 20 77 65 20 6e  statically, we n
9d30: 65 65 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e 0a  eed to preload..
9d40: 09 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d  .    dlprefiles=
9d50: 22 24 64 6c 70 72 65 66 69 6c 65 73 20 24 6c 69  "$dlprefiles $li
9d60: 62 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  b"..  else..    
9d70: 6e 65 77 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77  newdlfiles="$new
9d80: 64 6c 66 69 6c 65 73 20 24 6c 69 62 22 0a 09 20  dlfiles $lib".. 
9d90: 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a   fi..  continue.
9da0: 09 66 69 20 23 20 24 70 61 73 73 20 3d 20 64 6c  .fi # $pass = dl
9db0: 6f 70 65 6e 0a 0a 09 23 20 57 65 20 6e 65 65 64  open...# We need
9dc0: 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74   an absolute pat
9dd0: 68 2e 0a 09 63 61 73 65 20 24 6c 61 64 69 72 20  h...case $ladir 
9de0: 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d  in..[\\/]* | [A-
9df0: 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62  Za-z]:[\\/]*) ab
9e00: 73 5f 6c 61 64 69 72 3d 22 24 6c 61 64 69 72 22  s_ladir="$ladir"
9e10: 20 3b 3b 0a 09 2a 29 0a 09 20 20 61 62 73 5f 6c   ;;..*)..  abs_l
9e20: 61 64 69 72 3d 60 63 64 20 22 24 6c 61 64 69 72  adir=`cd "$ladir
9e30: 22 20 26 26 20 70 77 64 60 0a 09 20 20 69 66 20  " && pwd`..  if 
9e40: 74 65 73 74 20 2d 7a 20 22 24 61 62 73 5f 6c 61  test -z "$abs_la
9e50: 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  dir"; then..    
9e60: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
9e70: 3a 20 77 61 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f  : warning: canno
9e80: 74 20 64 65 74 65 72 6d 69 6e 65 20 61 62 73 6f  t determine abso
9e90: 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79 20 6e  lute directory n
9ea0: 61 6d 65 20 6f 66 20 5c 60 24 6c 61 64 69 72 27  ame of \`$ladir'
9eb0: 22 20 31 3e 26 32 0a 09 20 20 20 20 24 65 63 68  " 1>&2..    $ech
9ec0: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 70 61  o "$modename: pa
9ed0: 73 73 69 6e 67 20 69 74 20 6c 69 74 65 72 61 6c  ssing it literal
9ee0: 6c 79 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72  ly to the linker
9ef0: 2c 20 61 6c 74 68 6f 75 67 68 20 69 74 20 6d 69  , although it mi
9f00: 67 68 74 20 66 61 69 6c 22 20 31 3e 26 32 0a 09  ght fail" 1>&2..
9f10: 20 20 20 20 61 62 73 5f 6c 61 64 69 72 3d 22 24      abs_ladir="$
9f20: 6c 61 64 69 72 22 0a 09 20 20 66 69 0a 09 20 20  ladir"..  fi..  
9f30: 3b 3b 0a 09 65 73 61 63 0a 09 6c 61 6e 61 6d 65  ;;..esac..laname
9f40: 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62 22 20  =`$echo "X$lib" 
9f50: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
9f60: 2a 2f 25 25 27 60 0a 0a 09 23 20 46 69 6e 64 20  */%%'`...# Find 
9f70: 74 68 65 20 72 65 6c 65 76 61 6e 74 20 6f 62 6a  the relevant obj
9f80: 65 63 74 20 64 69 72 65 63 74 6f 72 79 20 61 6e  ect directory an
9f90: 64 20 6c 69 62 72 61 72 79 20 6e 61 6d 65 2e 0a  d library name..
9fa0: 09 69 66 20 74 65 73 74 20 22 58 24 69 6e 73 74  .if test "X$inst
9fb0: 61 6c 6c 65 64 22 20 3d 20 58 79 65 73 3b 20 74  alled" = Xyes; t
9fc0: 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 21  hen..  if test !
9fd0: 20 2d 66 20 22 24 6c 69 62 64 69 72 2f 24 6c 69   -f "$libdir/$li
9fe0: 6e 6b 6c 69 62 22 20 26 26 20 74 65 73 74 20 2d  nklib" && test -
9ff0: 66 20 22 24 61 62 73 5f 6c 61 64 69 72 2f 24 6c  f "$abs_ladir/$l
a000: 69 6e 6b 6c 69 62 22 3b 20 74 68 65 6e 0a 09 20  inklib"; then.. 
a010: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
a020: 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 6c 69  ame: warning: li
a030: 62 72 61 72 79 20 5c 60 24 6c 69 62 27 20 77 61  brary \`$lib' wa
a040: 73 20 6d 6f 76 65 64 2e 22 20 31 3e 26 32 0a 09  s moved." 1>&2..
a050: 20 20 20 20 64 69 72 3d 22 24 6c 61 64 69 72 22      dir="$ladir"
a060: 0a 09 20 20 20 20 61 62 73 64 69 72 3d 22 24 61  ..    absdir="$a
a070: 62 73 5f 6c 61 64 69 72 22 0a 09 20 20 20 20 6c  bs_ladir"..    l
a080: 69 62 64 69 72 3d 22 24 61 62 73 5f 6c 61 64 69  ibdir="$abs_ladi
a090: 72 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  r"..  else..    
a0a0: 64 69 72 3d 22 24 6c 69 62 64 69 72 22 0a 09 20  dir="$libdir".. 
a0b0: 20 20 20 61 62 73 64 69 72 3d 22 24 6c 69 62 64     absdir="$libd
a0c0: 69 72 22 0a 09 20 20 66 69 0a 09 65 6c 73 65 0a  ir"..  fi..else.
a0d0: 09 20 20 64 69 72 3d 22 24 6c 61 64 69 72 2f 24  .  dir="$ladir/$
a0e0: 6f 62 6a 64 69 72 22 0a 09 20 20 61 62 73 64 69  objdir"..  absdi
a0f0: 72 3d 22 24 61 62 73 5f 6c 61 64 69 72 2f 24 6f  r="$abs_ladir/$o
a100: 62 6a 64 69 72 22 0a 09 20 20 23 20 52 65 6d 6f  bjdir"..  # Remo
a110: 76 65 20 74 68 69 73 20 73 65 61 72 63 68 20 70  ve this search p
a120: 61 74 68 20 6c 61 74 65 72 0a 09 20 20 6e 6f 74  ath later..  not
a130: 69 6e 73 74 5f 70 61 74 68 3d 22 24 6e 6f 74 69  inst_path="$noti
a140: 6e 73 74 5f 70 61 74 68 20 24 61 62 73 5f 6c 61  nst_path $abs_la
a150: 64 69 72 22 0a 09 66 69 20 23 20 24 69 6e 73 74  dir"..fi # $inst
a160: 61 6c 6c 65 64 20 3d 20 79 65 73 0a 09 6e 61 6d  alled = yes..nam
a170: 65 3d 60 24 65 63 68 6f 20 22 58 24 6c 61 6e 61  e=`$echo "X$lana
a180: 6d 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  me" | $Xsed -e '
a190: 73 2f 5c 2e 6c 61 24 2f 2f 27 20 2d 65 20 27 73  s/\.la$//' -e 's
a1a0: 2f 5e 6c 69 62 2f 2f 27 60 0a 0a 09 23 20 54 68  /^lib//'`...# Th
a1b0: 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 20 73  is library was s
a1c0: 70 65 63 69 66 69 65 64 20 77 69 74 68 20 2d 64  pecified with -d
a1d0: 6c 70 72 65 6f 70 65 6e 2e 0a 09 69 66 20 74 65  lpreopen...if te
a1e0: 73 74 20 24 70 61 73 73 20 3d 20 64 6c 70 72 65  st $pass = dlpre
a1f0: 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 20 20 69 66  open; then..  if
a200: 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 64 69   test -z "$libdi
a210: 72 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  r"; then..    $e
a220: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
a230: 63 61 6e 6e 6f 74 20 2d 64 6c 70 72 65 6f 70 65  cannot -dlpreope
a240: 6e 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  n a convenience 
a250: 6c 69 62 72 61 72 79 3a 20 5c 60 24 6c 69 62 27  library: \`$lib'
a260: 22 20 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74  " 1>&2..    exit
a270: 20 31 0a 09 20 20 66 69 0a 09 20 20 23 20 50 72   1..  fi..  # Pr
a280: 65 66 65 72 20 75 73 69 6e 67 20 61 20 73 74 61  efer using a sta
a290: 74 69 63 20 6c 69 62 72 61 72 79 20 28 73 6f 20  tic library (so 
a2a0: 74 68 61 74 20 6e 6f 20 73 69 6c 6c 79 20 5f 44  that no silly _D
a2b0: 59 4e 41 4d 49 43 20 73 79 6d 62 6f 6c 73 0a 09  YNAMIC symbols..
a2c0: 20 20 23 20 61 72 65 20 72 65 71 75 69 72 65 64    # are required
a2d0: 20 74 6f 20 6c 69 6e 6b 29 2e 0a 09 20 20 69 66   to link)...  if
a2e0: 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c   test -n "$old_l
a2f0: 69 62 72 61 72 79 22 3b 20 74 68 65 6e 0a 09 20  ibrary"; then.. 
a300: 20 20 20 6e 65 77 64 6c 70 72 65 66 69 6c 65 73     newdlprefiles
a310: 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73  ="$newdlprefiles
a320: 20 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61   $dir/$old_libra
a330: 72 79 22 0a 09 20 20 23 20 4f 74 68 65 72 77 69  ry"..  # Otherwi
a340: 73 65 2c 20 75 73 65 20 74 68 65 20 64 6c 6e 61  se, use the dlna
a350: 6d 65 2c 20 73 6f 20 74 68 61 74 20 6c 74 5f 64  me, so that lt_d
a360: 6c 6f 70 65 6e 20 66 69 6e 64 73 20 69 74 2e 0a  lopen finds it..
a370: 09 20 20 65 6c 69 66 20 74 65 73 74 20 2d 6e 20  .  elif test -n 
a380: 22 24 64 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a  "$dlname"; then.
a390: 09 20 20 20 20 6e 65 77 64 6c 70 72 65 66 69 6c  .    newdlprefil
a3a0: 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c  es="$newdlprefil
a3b0: 65 73 20 24 64 69 72 2f 24 64 6c 6e 61 6d 65 22  es $dir/$dlname"
a3c0: 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 6e 65  ..  else..    ne
a3d0: 77 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65  wdlprefiles="$ne
a3e0: 77 64 6c 70 72 65 66 69 6c 65 73 20 24 64 69 72  wdlprefiles $dir
a3f0: 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09 20 20 66 69  /$linklib"..  fi
a400: 0a 09 66 69 20 23 20 24 70 61 73 73 20 3d 20 64  ..fi # $pass = d
a410: 6c 70 72 65 6f 70 65 6e 0a 0a 09 69 66 20 74 65  lpreopen...if te
a420: 73 74 20 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b  st -z "$libdir";
a430: 20 74 68 65 6e 0a 09 20 20 23 20 4c 69 6e 6b 20   then..  # Link 
a440: 74 68 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  the convenience 
a450: 6c 69 62 72 61 72 79 0a 09 20 20 69 66 20 74 65  library..  if te
a460: 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6c  st $linkmode = l
a470: 69 62 3b 20 74 68 65 6e 0a 09 20 20 20 20 64 65  ib; then..    de
a480: 70 6c 69 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64  plibs="$dir/$old
a490: 5f 6c 69 62 72 61 72 79 20 24 64 65 70 6c 69 62  _library $deplib
a4a0: 73 22 0a 09 20 20 65 6c 69 66 20 74 65 73 74 20  s"..  elif test 
a4b0: 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73  "$linkmode,$pass
a4c0: 22 20 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b  " = "prog,link";
a4d0: 20 74 68 65 6e 0a 09 20 20 20 20 63 6f 6d 70 69   then..    compi
a4e0: 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 69 72  le_deplibs="$dir
a4f0: 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 20 24 63  /$old_library $c
a500: 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a  ompile_deplibs".
a510: 09 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65  .    finalize_de
a520: 70 6c 69 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64  plibs="$dir/$old
a530: 5f 6c 69 62 72 61 72 79 20 24 66 69 6e 61 6c 69  _library $finali
a540: 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 65  ze_deplibs"..  e
a550: 6c 73 65 0a 09 20 20 20 20 64 65 70 6c 69 62 73  lse..    deplibs
a560: 3d 22 24 6c 69 62 20 24 64 65 70 6c 69 62 73 22  ="$lib $deplibs"
a570: 0a 09 20 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e  ..  fi..  contin
a580: 75 65 0a 09 66 69 0a 0a 09 69 66 20 74 65 73 74  ue..fi...if test
a590: 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72 6f   $linkmode = pro
a5a0: 67 20 26 26 20 74 65 73 74 20 24 70 61 73 73 20  g && test $pass 
a5b0: 21 3d 20 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20  != link; then.. 
a5c0: 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70   newlib_search_p
a5d0: 61 74 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61  ath="$newlib_sea
a5e0: 72 63 68 5f 70 61 74 68 20 24 6c 61 64 69 72 22  rch_path $ladir"
a5f0: 0a 09 20 20 64 65 70 6c 69 62 73 3d 22 24 6c 69  ..  deplibs="$li
a600: 62 20 24 64 65 70 6c 69 62 73 22 0a 0a 09 20 20  b $deplibs"...  
a610: 6c 69 6e 6b 61 6c 6c 64 65 70 6c 69 62 73 3d 6e  linkalldeplibs=n
a620: 6f 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 6c  o..  if test "$l
a630: 69 6e 6b 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 22  ink_all_deplibs"
a640: 20 21 3d 20 6e 6f 20 7c 7c 20 74 65 73 74 20 2d   != no || test -
a650: 7a 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  z "$library_name
a660: 73 22 20 7c 7c 0a 09 20 20 20 20 20 74 65 73 74  s" ||..     test
a670: 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
a680: 5f 6c 69 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65  _libs" = no; the
a690: 6e 0a 09 20 20 20 20 6c 69 6e 6b 61 6c 6c 64 65  n..    linkallde
a6a0: 70 6c 69 62 73 3d 79 65 73 0a 09 20 20 66 69 0a  plibs=yes..  fi.
a6b0: 0a 09 20 20 74 6d 70 5f 6c 69 62 73 3d 0a 09 20  ..  tmp_libs=.. 
a6c0: 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24   for deplib in $
a6d0: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b  dependency_libs;
a6e0: 20 64 6f 0a 09 20 20 20 20 63 61 73 65 20 24 64   do..    case $d
a6f0: 65 70 6c 69 62 20 69 6e 0a 09 20 20 20 20 2d 4c  eplib in..    -L
a700: 2a 29 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68  *) newlib_search
a710: 5f 70 61 74 68 3d 22 24 6e 65 77 6c 69 62 5f 73  _path="$newlib_s
a720: 65 61 72 63 68 5f 70 61 74 68 20 22 60 24 65 63  earch_path "`$ec
a730: 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c 20  ho "X$deplib" | 
a740: 24 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f  $Xsed -e 's/^-L/
a750: 2f 27 60 3b 3b 20 23 23 23 20 74 65 73 74 73 75  /'`;; ### testsu
a760: 69 74 65 3a 20 73 6b 69 70 20 6e 65 73 74 65 64  ite: skip nested
a770: 20 71 75 6f 74 69 6e 67 20 74 65 73 74 0a 09 20   quoting test.. 
a780: 20 20 20 65 73 61 63 0a 09 20 20 20 20 23 20 4e     esac..    # N
a790: 65 65 64 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69  eed to link agai
a7a0: 6e 73 74 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e  nst all dependen
a7b0: 63 79 5f 6c 69 62 73 3f 0a 09 20 20 20 20 69 66  cy_libs?..    if
a7c0: 20 74 65 73 74 20 24 6c 69 6e 6b 61 6c 6c 64 65   test $linkallde
a7d0: 70 6c 69 62 73 20 3d 20 79 65 73 3b 20 74 68 65  plibs = yes; the
a7e0: 6e 0a 09 20 20 20 20 20 20 64 65 70 6c 69 62 73  n..      deplibs
a7f0: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
a800: 62 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20  bs"..    else.. 
a810: 20 20 20 20 20 23 20 4e 65 65 64 20 74 6f 20 68       # Need to h
a820: 61 72 64 63 6f 64 65 20 73 68 61 72 65 64 20 6c  ardcode shared l
a830: 69 62 72 61 72 79 20 70 61 74 68 73 0a 09 20 20  ibrary paths..  
a840: 20 20 20 20 23 20 6f 72 2f 61 6e 64 20 6c 69 6e      # or/and lin
a850: 6b 20 61 67 61 69 6e 73 74 20 73 74 61 74 69 63  k against static
a860: 20 6c 69 62 72 61 72 69 65 73 0a 09 20 20 20 20   libraries..    
a870: 20 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f    newdependency_
a880: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e  libs="$deplib $n
a890: 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  ewdependency_lib
a8a0: 73 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  s"..    fi..    
a8b0: 69 66 20 74 65 73 74 20 22 58 24 64 75 70 6c 69  if test "X$dupli
a8c0: 63 61 74 65 5f 64 65 70 73 22 20 3d 20 22 58 79  cate_deps" = "Xy
a8d0: 65 73 22 20 3b 20 74 68 65 6e 0a 09 20 20 20 20  es" ; then..    
a8e0: 20 20 63 61 73 65 20 22 24 74 6d 70 5f 6c 69 62    case "$tmp_lib
a8f0: 73 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22  s " in..      *"
a900: 20 24 64 65 70 6c 69 62 20 22 2a 29 20 73 70 65   $deplib "*) spe
a910: 63 69 61 6c 64 65 70 6c 69 62 73 3d 22 24 73 70  cialdeplibs="$sp
a920: 65 63 69 61 6c 64 65 70 6c 69 62 73 20 24 64 65  ecialdeplibs $de
a930: 70 6c 69 62 22 20 3b 3b 0a 09 20 20 20 20 20 20  plib" ;;..      
a940: 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20  esac..    fi..  
a950: 20 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70    tmp_libs="$tmp
a960: 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22 0a 09  _libs $deplib"..
a970: 20 20 64 6f 6e 65 20 23 20 66 6f 72 20 64 65 70    done # for dep
a980: 6c 69 62 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  lib..  continue.
a990: 09 66 69 20 23 20 24 6c 69 6e 6b 6d 6f 64 65 20  .fi # $linkmode 
a9a0: 3d 20 70 72 6f 67 2e 2e 2e 0a 0a 09 6c 69 6e 6b  = prog......link
a9b0: 5f 73 74 61 74 69 63 3d 6e 6f 20 23 20 57 68 65  _static=no # Whe
a9c0: 74 68 65 72 20 74 68 65 20 64 65 70 6c 69 62 20  ther the deplib 
a9d0: 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 20 73  will be linked s
a9e0: 74 61 74 69 63 61 6c 6c 79 0a 09 69 66 20 74 65  tatically..if te
a9f0: 73 74 20 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f  st -n "$library_
aa00: 6e 61 6d 65 73 22 20 26 26 0a 09 20 20 20 7b 20  names" &&..   { 
aa10: 74 65 73 74 20 22 24 70 72 65 66 65 72 5f 73 74  test "$prefer_st
aa20: 61 74 69 63 5f 6c 69 62 73 22 20 3d 20 6e 6f 20  atic_libs" = no 
aa30: 7c 7c 20 74 65 73 74 20 2d 7a 20 22 24 6f 6c 64  || test -z "$old
aa40: 5f 6c 69 62 72 61 72 79 22 3b 20 7d 3b 20 74 68  _library"; }; th
aa50: 65 6e 0a 09 20 20 23 20 4c 69 6e 6b 20 61 67 61  en..  # Link aga
aa60: 69 6e 73 74 20 74 68 69 73 20 73 68 61 72 65 64  inst this shared
aa70: 20 6c 69 62 72 61 72 79 0a 0a 09 20 20 69 66 20   library...  if 
aa80: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c  test "$linkmode,
aa90: 24 70 61 73 73 22 20 3d 20 22 70 72 6f 67 2c 6c  $pass" = "prog,l
aaa0: 69 6e 6b 22 20 7c 7c 0a 09 20 20 20 7b 20 74 65  ink" ||..   { te
aab0: 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 6c  st $linkmode = l
aac0: 69 62 20 26 26 20 74 65 73 74 20 24 68 61 72 64  ib && test $hard
aad0: 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 20 3d  code_into_libs =
aae0: 20 79 65 73 3b 20 7d 3b 20 74 68 65 6e 0a 09 20   yes; }; then.. 
aaf0: 20 20 20 23 20 48 61 72 64 63 6f 64 65 20 74 68     # Hardcode th
ab00: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 2e 0a  e library path..
ab10: 09 20 20 20 20 23 20 53 6b 69 70 20 64 69 72 65  .    # Skip dire
ab20: 63 74 6f 72 69 65 73 20 74 68 61 74 20 61 72 65  ctories that are
ab30: 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 64   in the system d
ab40: 65 66 61 75 6c 74 20 72 75 6e 2d 74 69 6d 65 0a  efault run-time.
ab50: 09 20 20 20 20 23 20 73 65 61 72 63 68 20 70 61  .    # search pa
ab60: 74 68 2e 0a 09 20 20 20 20 63 61 73 65 20 22 20  th...    case " 
ab70: 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63  $sys_lib_dlsearc
ab80: 68 5f 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20  h_path " in..   
ab90: 20 2a 22 20 24 61 62 73 64 69 72 20 22 2a 29 20   *" $absdir "*) 
aba0: 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20 20 20  ;;..    *)..    
abb0: 20 20 63 61 73 65 20 22 24 63 6f 6d 70 69 6c 65    case "$compile
abc0: 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20  _rpath " in..   
abd0: 20 20 20 2a 22 20 24 61 62 73 64 69 72 20 22 2a     *" $absdir "*
abe0: 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 63  ) ;;..      *) c
abf0: 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d 22 24 63  ompile_rpath="$c
ac00: 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20 24 61 62  ompile_rpath $ab
ac10: 73 64 69 72 22 0a 09 20 20 20 20 20 20 65 73 61  sdir"..      esa
ac20: 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20  c..      ;;..   
ac30: 20 65 73 61 63 0a 09 20 20 20 20 63 61 73 65 20   esac..    case 
ac40: 22 20 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61  " $sys_lib_dlsea
ac50: 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a 09 20  rch_path " in.. 
ac60: 20 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a     *" $libdir "*
ac70: 29 20 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20  ) ;;..    *)..  
ac80: 20 20 20 20 63 61 73 65 20 22 24 66 69 6e 61 6c      case "$final
ac90: 69 7a 65 5f 72 70 61 74 68 20 22 20 69 6e 0a 09  ize_rpath " in..
aca0: 20 20 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72        *" $libdir
acb0: 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a   "*) ;;..      *
acc0: 29 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68  ) finalize_rpath
acd0: 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74  ="$finalize_rpat
ace0: 68 20 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20  h $libdir"..    
acf0: 20 20 65 73 61 63 0a 09 20 20 20 20 20 20 3b 3b    esac..      ;;
ad00: 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 20 20  ..    esac..    
ad10: 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64  if test $linkmod
ad20: 65 20 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09  e = prog; then..
ad30: 20 20 20 20 20 20 23 20 57 65 20 6e 65 65 64 20        # We need 
ad40: 74 6f 20 68 61 72 64 63 6f 64 65 20 74 68 65 20  to hardcode the 
ad50: 6c 69 62 72 61 72 79 20 70 61 74 68 0a 09 20 20  library path..  
ad60: 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
ad70: 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 3b  $shlibpath_var";
ad80: 20 74 68 65 6e 0a 09 09 23 20 4d 61 6b 65 20 73   then...# Make s
ad90: 75 72 65 20 74 68 65 20 72 70 61 74 68 20 63 6f  ure the rpath co
ada0: 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75 6e 69 71  ntains only uniq
adb0: 75 65 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a  ue directories..
adc0: 09 09 63 61 73 65 20 22 24 74 65 6d 70 5f 72 70  ..case "$temp_rp
add0: 61 74 68 20 22 20 69 6e 0a 09 09 2a 22 20 24 64  ath " in...*" $d
ade0: 69 72 20 22 2a 29 20 3b 3b 0a 09 09 2a 22 20 24  ir "*) ;;...*" $
adf0: 61 62 73 64 69 72 20 22 2a 29 20 3b 3b 0a 09 09  absdir "*) ;;...
ae00: 2a 29 20 74 65 6d 70 5f 72 70 61 74 68 3d 22 24  *) temp_rpath="$
ae10: 74 65 6d 70 5f 72 70 61 74 68 20 24 64 69 72 22  temp_rpath $dir"
ae20: 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20 20   ;;...esac..    
ae30: 20 20 66 69 0a 09 20 20 20 20 66 69 0a 09 20 20    fi..    fi..  
ae40: 66 69 20 23 20 24 6c 69 6e 6b 6d 6f 64 65 2c 24  fi # $linkmode,$
ae50: 70 61 73 73 20 3d 20 70 72 6f 67 2c 6c 69 6e 6b  pass = prog,link
ae60: 2e 2e 2e 0a 0a 09 20 20 69 66 20 74 65 73 74 20  ......  if test 
ae70: 22 24 61 6c 6c 64 65 70 6c 69 62 73 22 20 3d 20  "$alldeplibs" = 
ae80: 79 65 73 20 26 26 0a 09 20 20 20 20 20 7b 20 74  yes &&..     { t
ae90: 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68  est "$deplibs_ch
aea0: 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3d 20 70 61  eck_method" = pa
aeb0: 73 73 5f 61 6c 6c 20 7c 7c 0a 09 20 20 20 20 20  ss_all ||..     
aec0: 20 20 7b 20 74 65 73 74 20 22 24 62 75 69 6c 64    { test "$build
aed0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
aee0: 20 79 65 73 20 26 26 0a 09 09 20 74 65 73 74 20   yes &&... test 
aef0: 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d  -n "$library_nam
af00: 65 73 22 3b 20 7d 3b 20 7d 3b 20 74 68 65 6e 0a  es"; }; }; then.
af10: 09 20 20 20 20 23 20 57 65 20 6f 6e 6c 79 20 6e  .    # We only n
af20: 65 65 64 20 74 6f 20 73 65 61 72 63 68 20 66 6f  eed to search fo
af30: 72 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 69  r static librari
af40: 65 73 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65  es..    continue
af50: 0a 09 20 20 66 69 0a 0a 09 20 20 69 66 20 74 65  ..  fi...  if te
af60: 73 74 20 22 24 69 6e 73 74 61 6c 6c 65 64 22 20  st "$installed" 
af70: 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20  = no; then..    
af80: 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d  notinst_deplibs=
af90: 22 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62  "$notinst_deplib
afa0: 73 20 24 6c 69 62 22 0a 09 20 20 20 20 6e 65 65  s $lib"..    nee
afb0: 64 5f 72 65 6c 69 6e 6b 3d 79 65 73 0a 09 20 20  d_relink=yes..  
afc0: 66 69 0a 0a 09 20 20 69 66 20 74 65 73 74 20 2d  fi...  if test -
afd0: 6e 20 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f  n "$old_archive_
afe0: 66 72 6f 6d 5f 65 78 70 73 79 6d 73 5f 63 6d 64  from_expsyms_cmd
aff0: 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20  s"; then..    # 
b000: 66 69 67 75 72 65 20 6f 75 74 20 74 68 65 20 73  figure out the s
b010: 6f 6e 61 6d 65 0a 09 20 20 20 20 73 65 74 20 64  oname..    set d
b020: 75 6d 6d 79 20 24 6c 69 62 72 61 72 79 5f 6e 61  ummy $library_na
b030: 6d 65 73 0a 09 20 20 20 20 72 65 61 6c 6e 61 6d  mes..    realnam
b040: 65 3d 22 24 32 22 0a 09 20 20 20 20 73 68 69 66  e="$2"..    shif
b050: 74 3b 20 73 68 69 66 74 0a 09 20 20 20 20 6c 69  t; shift..    li
b060: 62 6e 61 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65  bname=`eval \\$e
b070: 63 68 6f 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73  cho \"$libname_s
b080: 70 65 63 5c 22 60 0a 09 20 20 20 20 23 20 75 73  pec\"`..    # us
b090: 65 20 64 6c 6e 61 6d 65 20 69 66 20 77 65 20 67  e dlname if we g
b0a0: 6f 74 20 69 74 2e 20 69 74 27 73 20 70 65 72 66  ot it. it's perf
b0b0: 65 63 74 6c 79 20 67 6f 6f 64 2c 20 6e 6f 3f 0a  ectly good, no?.
b0c0: 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
b0d0: 22 24 64 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a  "$dlname"; then.
b0e0: 09 20 20 20 20 20 20 73 6f 6e 61 6d 65 3d 22 24  .      soname="$
b0f0: 64 6c 6e 61 6d 65 22 0a 09 20 20 20 20 65 6c 69  dlname"..    eli
b100: 66 20 74 65 73 74 20 2d 6e 20 22 24 73 6f 6e 61  f test -n "$sona
b110: 6d 65 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a 09  me_spec"; then..
b120: 20 20 20 20 20 20 23 20 62 6c 65 68 20 77 69 6e        # bleh win
b130: 64 6f 77 73 0a 09 20 20 20 20 20 20 63 61 73 65  dows..      case
b140: 20 24 68 6f 73 74 20 69 6e 0a 09 20 20 20 20 20   $host in..     
b150: 20 2a 63 79 67 77 69 6e 2a 29 0a 09 09 6d 61 6a   *cygwin*)...maj
b160: 6f 72 3d 60 65 78 70 72 20 24 63 75 72 72 65 6e  or=`expr $curren
b170: 74 20 2d 20 24 61 67 65 60 0a 09 09 76 65 72 73  t - $age`...vers
b180: 75 66 66 69 78 3d 22 2d 24 6d 61 6a 6f 72 22 0a  uffix="-$major".
b190: 09 09 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  ..;;..      esac
b1a0: 0a 09 20 20 20 20 20 20 65 76 61 6c 20 73 6f 6e  ..      eval son
b1b0: 61 6d 65 3d 5c 22 24 73 6f 6e 61 6d 65 5f 73 70  ame=\"$soname_sp
b1c0: 65 63 5c 22 0a 09 20 20 20 20 65 6c 73 65 0a 09  ec\"..    else..
b1d0: 20 20 20 20 20 20 73 6f 6e 61 6d 65 3d 22 24 72        soname="$r
b1e0: 65 61 6c 6e 61 6d 65 22 0a 09 20 20 20 20 66 69  ealname"..    fi
b1f0: 0a 0a 09 20 20 20 20 23 20 4d 61 6b 65 20 61 20  ...    # Make a 
b200: 6e 65 77 20 6e 61 6d 65 20 66 6f 72 20 74 68 65  new name for the
b210: 20 65 78 74 72 61 63 74 5f 65 78 70 73 79 6d 73   extract_expsyms
b220: 5f 63 6d 64 73 20 74 6f 20 75 73 65 0a 09 20 20  _cmds to use..  
b230: 20 20 73 6f 72 6f 6f 74 3d 22 24 73 6f 6e 61 6d    soroot="$sonam
b240: 65 22 0a 09 20 20 20 20 73 6f 6e 61 6d 65 3d 60  e"..    soname=`
b250: 65 63 68 6f 20 24 73 6f 72 6f 6f 74 20 7c 20 24  echo $soroot | $
b260: 7b 53 45 44 7d 20 2d 65 20 27 73 2f 5e 2e 2a 5c  {SED} -e 's/^.*\
b270: 2f 2f 2f 27 60 0a 09 20 20 20 20 6e 65 77 6c 69  ///'`..    newli
b280: 62 3d 22 6c 69 62 69 6d 70 2d 60 65 63 68 6f 20  b="libimp-`echo 
b290: 24 73 6f 6e 61 6d 65 20 7c 20 24 7b 53 45 44 7d  $soname | ${SED}
b2a0: 20 27 73 2f 5e 6c 69 62 2f 2f 3b 73 2f 5c 2e 64   's/^lib//;s/\.d
b2b0: 6c 6c 24 2f 2f 27 60 2e 61 22 0a 0a 09 20 20 20  ll$//'`.a"...   
b2c0: 20 23 20 49 66 20 74 68 65 20 6c 69 62 72 61 72   # If the librar
b2d0: 79 20 68 61 73 20 6e 6f 20 65 78 70 6f 72 74 20  y has no export 
b2e0: 6c 69 73 74 2c 20 74 68 65 6e 20 63 72 65 61 74  list, then creat
b2f0: 65 20 6f 6e 65 20 6e 6f 77 0a 09 20 20 20 20 69  e one now..    i
b300: 66 20 74 65 73 74 20 2d 66 20 22 24 6f 75 74 70  f test -f "$outp
b310: 75 74 5f 6f 62 6a 64 69 72 2f 24 73 6f 6e 61 6d  ut_objdir/$sonam
b320: 65 2d 64 65 66 22 3b 20 74 68 65 6e 20 3a 0a 09  e-def"; then :..
b330: 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
b340: 24 73 68 6f 77 20 22 65 78 74 72 61 63 74 69 6e  $show "extractin
b350: 67 20 65 78 70 6f 72 74 65 64 20 73 79 6d 62 6f  g exported symbo
b360: 6c 20 6c 69 73 74 20 66 72 6f 6d 20 5c 60 24 73  l list from \`$s
b370: 6f 6e 61 6d 65 27 22 0a 09 20 20 20 20 20 20 73  oname'"..      s
b380: 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20  ave_ifs="$IFS"; 
b390: 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20 20 65  IFS='~'..      e
b3a0: 76 61 6c 20 63 6d 64 73 3d 5c 22 24 65 78 74 72  val cmds=\"$extr
b3b0: 61 63 74 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73  act_expsyms_cmds
b3c0: 5c 22 0a 09 20 20 20 20 20 20 66 6f 72 20 63 6d  \"..      for cm
b3d0: 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09  d in $cmds; do..
b3e0: 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22  .IFS="$save_ifs"
b3f0: 0a 09 09 24 73 68 6f 77 20 22 24 63 6d 64 22 0a  ...$show "$cmd".
b400: 09 09 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d  ..$run eval "$cm
b410: 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20  d" || exit $?.. 
b420: 20 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 20       done..     
b430: 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
b440: 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 23  ..    fi...    #
b450: 20 43 72 65 61 74 65 20 24 6e 65 77 6c 69 62 0a   Create $newlib.
b460: 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 66 20  .    if test -f 
b470: 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  "$output_objdir/
b480: 24 6e 65 77 6c 69 62 22 3b 20 74 68 65 6e 20 3a  $newlib"; then :
b490: 3b 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24 73  ; else..      $s
b4a0: 68 6f 77 20 22 67 65 6e 65 72 61 74 69 6e 67 20  how "generating 
b4b0: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 66  import library f
b4c0: 6f 72 20 5c 60 24 73 6f 6e 61 6d 65 27 22 0a 09  or \`$soname'"..
b4d0: 20 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22        save_ifs="
b4e0: 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09  $IFS"; IFS='~'..
b4f0: 20 20 20 20 20 20 65 76 61 6c 20 63 6d 64 73 3d        eval cmds=
b500: 5c 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66  \"$old_archive_f
b510: 72 6f 6d 5f 65 78 70 73 79 6d 73 5f 63 6d 64 73  rom_expsyms_cmds
b520: 5c 22 0a 09 20 20 20 20 20 20 66 6f 72 20 63 6d  \"..      for cm
b530: 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09  d in $cmds; do..
b540: 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22  .IFS="$save_ifs"
b550: 0a 09 09 24 73 68 6f 77 20 22 24 63 6d 64 22 0a  ...$show "$cmd".
b560: 09 09 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d  ..$run eval "$cm
b570: 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20  d" || exit $?.. 
b580: 20 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 20       done..     
b590: 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22   IFS="$save_ifs"
b5a0: 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 23 20  ..    fi..    # 
b5b0: 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 6c 69  make sure the li
b5c0: 62 72 61 72 79 20 76 61 72 69 61 62 6c 65 73 20  brary variables 
b5d0: 61 72 65 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20  are pointing to 
b5e0: 74 68 65 20 6e 65 77 20 6c 69 62 72 61 72 79 0a  the new library.
b5f0: 09 20 20 20 20 64 69 72 3d 24 6f 75 74 70 75 74  .    dir=$output
b600: 5f 6f 62 6a 64 69 72 0a 09 20 20 20 20 6c 69 6e  _objdir..    lin
b610: 6b 6c 69 62 3d 24 6e 65 77 6c 69 62 0a 09 20 20  klib=$newlib..  
b620: 66 69 20 23 20 74 65 73 74 20 2d 6e 20 24 6f 6c  fi # test -n $ol
b630: 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 65  d_archive_from_e
b640: 78 70 73 79 6d 73 5f 63 6d 64 73 0a 0a 09 20 20  xpsyms_cmds...  
b650: 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64  if test $linkmod
b660: 65 20 3d 20 70 72 6f 67 20 7c 7c 20 74 65 73 74  e = prog || test
b670: 20 22 24 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69   "$mode" != reli
b680: 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20 61 64  nk; then..    ad
b690: 64 5f 73 68 6c 69 62 70 61 74 68 3d 0a 09 20 20  d_shlibpath=..  
b6a0: 20 20 61 64 64 5f 64 69 72 3d 0a 09 20 20 20 20    add_dir=..    
b6b0: 61 64 64 3d 0a 09 20 20 20 20 6c 69 62 5f 6c 69  add=..    lib_li
b6c0: 6e 6b 65 64 3d 79 65 73 0a 09 20 20 20 20 63 61  nked=yes..    ca
b6d0: 73 65 20 24 68 61 72 64 63 6f 64 65 5f 61 63 74  se $hardcode_act
b6e0: 69 6f 6e 20 69 6e 0a 09 20 20 20 20 69 6d 6d 65  ion in..    imme
b6f0: 64 69 61 74 65 20 7c 20 75 6e 73 75 70 70 6f 72  diate | unsuppor
b700: 74 65 64 29 0a 09 20 20 20 20 20 20 69 66 20 74  ted)..      if t
b710: 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 64  est "$hardcode_d
b720: 69 72 65 63 74 22 20 3d 20 6e 6f 3b 20 74 68 65  irect" = no; the
b730: 6e 0a 09 09 61 64 64 3d 22 24 64 69 72 2f 24 6c  n...add="$dir/$l
b740: 69 6e 6b 6c 69 62 22 0a 09 20 20 20 20 20 20 65  inklib"..      e
b750: 6c 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63  lif test "$hardc
b760: 6f 64 65 5f 6d 69 6e 75 73 5f 4c 22 20 3d 20 6e  ode_minus_L" = n
b770: 6f 3b 20 74 68 65 6e 0a 09 09 63 61 73 65 20 24  o; then...case $
b780: 68 6f 73 74 20 69 6e 0a 09 09 2a 2d 2a 2d 73 75  host in...*-*-su
b790: 6e 6f 73 2a 29 20 61 64 64 5f 73 68 6c 69 62 70  nos*) add_shlibp
b7a0: 61 74 68 3d 22 24 64 69 72 22 20 3b 3b 0a 09 09  ath="$dir" ;;...
b7b0: 65 73 61 63 0a 09 09 61 64 64 5f 64 69 72 3d 22  esac...add_dir="
b7c0: 2d 4c 24 64 69 72 22 0a 09 09 61 64 64 3d 22 2d  -L$dir"...add="-
b7d0: 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 20 20 65  l$name"..      e
b7e0: 6c 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63  lif test "$hardc
b7f0: 6f 64 65 5f 73 68 6c 69 62 70 61 74 68 5f 76 61  ode_shlibpath_va
b800: 72 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09  r" = no; then...
b810: 61 64 64 5f 73 68 6c 69 62 70 61 74 68 3d 22 24  add_shlibpath="$
b820: 64 69 72 22 0a 09 09 61 64 64 3d 22 2d 6c 24 6e  dir"...add="-l$n
b830: 61 6d 65 22 0a 09 20 20 20 20 20 20 65 6c 73 65  ame"..      else
b840: 0a 09 09 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e 6f  ...lib_linked=no
b850: 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
b860: 20 20 3b 3b 0a 09 20 20 20 20 72 65 6c 69 6e 6b    ;;..    relink
b870: 29 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  )..      if test
b880: 20 22 24 68 61 72 64 63 6f 64 65 5f 64 69 72 65   "$hardcode_dire
b890: 63 74 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  ct" = yes; then.
b8a0: 09 09 61 64 64 3d 22 24 64 69 72 2f 24 6c 69 6e  ..add="$dir/$lin
b8b0: 6b 6c 69 62 22 0a 09 20 20 20 20 20 20 65 6c 69  klib"..      eli
b8c0: 66 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64  f test "$hardcod
b8d0: 65 5f 6d 69 6e 75 73 5f 4c 22 20 3d 20 79 65 73  e_minus_L" = yes
b8e0: 3b 20 74 68 65 6e 0a 09 09 61 64 64 5f 64 69 72  ; then...add_dir
b8f0: 3d 22 2d 4c 24 64 69 72 22 0a 09 09 23 20 54 72  ="-L$dir"...# Tr
b900: 79 20 6c 6f 6f 6b 69 6e 67 20 66 69 72 73 74 20  y looking first 
b910: 69 6e 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20  in the location 
b920: 77 65 27 72 65 20 62 65 69 6e 67 20 69 6e 73 74  we're being inst
b930: 61 6c 6c 65 64 20 74 6f 2e 0a 09 09 69 66 20 74  alled to....if t
b940: 65 73 74 20 2d 6e 20 22 24 69 6e 73 74 5f 70 72  est -n "$inst_pr
b950: 65 66 69 78 5f 64 69 72 22 3b 20 74 68 65 6e 0a  efix_dir"; then.
b960: 09 09 20 20 63 61 73 65 20 22 24 6c 69 62 64 69  ..  case "$libdi
b970: 72 22 20 69 6e 0a 09 09 20 20 5b 5c 2f 5d 2a 29  r" in...  [\/]*)
b980: 0a 09 09 20 20 20 20 61 64 64 5f 64 69 72 3d 22  ...    add_dir="
b990: 2d 4c 24 69 6e 73 74 5f 70 72 65 66 69 78 5f 64  -L$inst_prefix_d
b9a0: 69 72 24 6c 69 62 64 69 72 20 24 61 64 64 5f 64  ir$libdir $add_d
b9b0: 69 72 22 0a 09 09 20 20 20 20 3b 3b 0a 09 09 20  ir"...    ;;... 
b9c0: 20 65 73 61 63 0a 09 09 66 69 0a 09 09 61 64 64   esac...fi...add
b9d0: 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20  ="-l$name"..    
b9e0: 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 68 61    elif test "$ha
b9f0: 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61 74 68  rdcode_shlibpath
ba00: 5f 76 61 72 22 20 3d 20 79 65 73 3b 20 74 68 65  _var" = yes; the
ba10: 6e 0a 09 09 61 64 64 5f 73 68 6c 69 62 70 61 74  n...add_shlibpat
ba20: 68 3d 22 24 64 69 72 22 0a 09 09 61 64 64 3d 22  h="$dir"...add="
ba30: 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20 20 20  -l$name"..      
ba40: 65 6c 73 65 0a 09 09 6c 69 62 5f 6c 69 6e 6b 65  else...lib_linke
ba50: 64 3d 6e 6f 0a 09 20 20 20 20 20 20 66 69 0a 09  d=no..      fi..
ba60: 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 2a 29        ;;..    *)
ba70: 20 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e 6f 20 3b   lib_linked=no ;
ba80: 3b 0a 09 20 20 20 20 65 73 61 63 0a 0a 09 20 20  ;..    esac...  
ba90: 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 62 5f    if test "$lib_
baa0: 6c 69 6e 6b 65 64 22 20 21 3d 20 79 65 73 3b 20  linked" != yes; 
bab0: 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65 63 68  then..      $ech
bac0: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 6f  o "$modename: co
bad0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 65 72 72 6f  nfiguration erro
bae0: 72 3a 20 75 6e 73 75 70 70 6f 72 74 65 64 20 68  r: unsupported h
baf0: 61 72 64 63 6f 64 65 20 70 72 6f 70 65 72 74 69  ardcode properti
bb00: 65 73 22 0a 09 20 20 20 20 20 20 65 78 69 74 20  es"..      exit 
bb10: 31 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20  1..    fi...    
bb20: 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64  if test -n "$add
bb30: 5f 73 68 6c 69 62 70 61 74 68 22 3b 20 74 68 65  _shlibpath"; the
bb40: 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 3a 24  n..      case :$
bb50: 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61 74  compile_shlibpat
bb60: 68 3a 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 3a  h: in..      *":
bb70: 24 61 64 64 5f 73 68 6c 69 62 70 61 74 68 3a 22  $add_shlibpath:"
bb80: 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20  *) ;;..      *) 
bb90: 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61 74  compile_shlibpat
bba0: 68 3d 22 24 63 6f 6d 70 69 6c 65 5f 73 68 6c 69  h="$compile_shli
bbb0: 62 70 61 74 68 24 61 64 64 5f 73 68 6c 69 62 70  bpath$add_shlibp
bbc0: 61 74 68 3a 22 20 3b 3b 0a 09 20 20 20 20 20 20  ath:" ;;..      
bbd0: 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20  esac..    fi..  
bbe0: 20 20 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d    if test $linkm
bbf0: 6f 64 65 20 3d 20 70 72 6f 67 3b 20 74 68 65 6e  ode = prog; then
bc00: 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e 20  ..      test -n 
bc10: 22 24 61 64 64 5f 64 69 72 22 20 26 26 20 63 6f  "$add_dir" && co
bc20: 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24  mpile_deplibs="$
bc30: 61 64 64 5f 64 69 72 20 24 63 6f 6d 70 69 6c 65  add_dir $compile
bc40: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 20  _deplibs"..     
bc50: 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 22 20   test -n "$add" 
bc60: 26 26 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  && compile_depli
bc70: 62 73 3d 22 24 61 64 64 20 24 63 6f 6d 70 69 6c  bs="$add $compil
bc80: 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20  e_deplibs"..    
bc90: 65 6c 73 65 0a 09 20 20 20 20 20 20 74 65 73 74  else..      test
bca0: 20 2d 6e 20 22 24 61 64 64 5f 64 69 72 22 20 26   -n "$add_dir" &
bcb0: 26 20 64 65 70 6c 69 62 73 3d 22 24 61 64 64 5f  & deplibs="$add_
bcc0: 64 69 72 20 24 64 65 70 6c 69 62 73 22 0a 09 20  dir $deplibs".. 
bcd0: 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 61       test -n "$a
bce0: 64 64 22 20 26 26 20 64 65 70 6c 69 62 73 3d 22  dd" && deplibs="
bcf0: 24 61 64 64 20 24 64 65 70 6c 69 62 73 22 0a 09  $add $deplibs"..
bd00: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
bd10: 68 61 72 64 63 6f 64 65 5f 64 69 72 65 63 74 22  hardcode_direct"
bd20: 20 21 3d 20 79 65 73 20 26 26 20 5c 0a 09 09 20   != yes && \... 
bd30: 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f  test "$hardcode_
bd40: 6d 69 6e 75 73 5f 4c 22 20 21 3d 20 79 65 73 20  minus_L" != yes 
bd50: 26 26 20 5c 0a 09 09 20 74 65 73 74 20 22 24 68  && \... test "$h
bd60: 61 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61 74  ardcode_shlibpat
bd70: 68 5f 76 61 72 22 20 3d 20 79 65 73 3b 20 74 68  h_var" = yes; th
bd80: 65 6e 0a 09 09 63 61 73 65 20 3a 24 66 69 6e 61  en...case :$fina
bd90: 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3a 20  lize_shlibpath: 
bda0: 69 6e 0a 09 09 2a 22 3a 24 6c 69 62 64 69 72 3a  in...*":$libdir:
bdb0: 22 2a 29 20 3b 3b 0a 09 09 2a 29 20 66 69 6e 61  "*) ;;...*) fina
bdc0: 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3d 22  lize_shlibpath="
bdd0: 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70  $finalize_shlibp
bde0: 61 74 68 24 6c 69 62 64 69 72 3a 22 20 3b 3b 0a  ath$libdir:" ;;.
bdf0: 09 09 65 73 61 63 0a 09 20 20 20 20 20 20 66 69  ..esac..      fi
be00: 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 0a  ..    fi..  fi..
be10: 09 20 20 69 66 20 74 65 73 74 20 24 6c 69 6e 6b  .  if test $link
be20: 6d 6f 64 65 20 3d 20 70 72 6f 67 20 7c 7c 20 74  mode = prog || t
be30: 65 73 74 20 22 24 6d 6f 64 65 22 20 3d 20 72 65  est "$mode" = re
be40: 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 20 20  link; then..    
be50: 61 64 64 5f 73 68 6c 69 62 70 61 74 68 3d 0a 09  add_shlibpath=..
be60: 20 20 20 20 61 64 64 5f 64 69 72 3d 0a 09 20 20      add_dir=..  
be70: 20 20 61 64 64 3d 0a 09 20 20 20 20 23 20 46 69    add=..    # Fi
be80: 6e 61 6c 69 7a 65 20 63 6f 6d 6d 61 6e 64 20 66  nalize command f
be90: 6f 72 20 62 6f 74 68 20 69 73 20 73 69 6d 70 6c  or both is simpl
bea0: 65 3a 20 6a 75 73 74 20 68 61 72 64 63 6f 64 65  e: just hardcode
beb0: 20 69 74 2e 0a 09 20 20 20 20 69 66 20 74 65 73   it...    if tes
bec0: 74 20 22 24 68 61 72 64 63 6f 64 65 5f 64 69 72  t "$hardcode_dir
bed0: 65 63 74 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  ect" = yes; then
bee0: 0a 09 20 20 20 20 20 20 61 64 64 3d 22 24 6c 69  ..      add="$li
bef0: 62 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09  bdir/$linklib"..
bf00: 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24      elif test "$
bf10: 68 61 72 64 63 6f 64 65 5f 6d 69 6e 75 73 5f 4c  hardcode_minus_L
bf20: 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
bf30: 20 20 20 20 20 61 64 64 5f 64 69 72 3d 22 2d 4c       add_dir="-L
bf40: 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20 20 20  $libdir"..      
bf50: 61 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20  add="-l$name".. 
bf60: 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 68     elif test "$h
bf70: 61 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61 74  ardcode_shlibpat
bf80: 68 5f 76 61 72 22 20 3d 20 79 65 73 3b 20 74 68  h_var" = yes; th
bf90: 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 3a  en..      case :
bfa0: 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70  $finalize_shlibp
bfb0: 61 74 68 3a 20 69 6e 0a 09 20 20 20 20 20 20 2a  ath: in..      *
bfc0: 22 3a 24 6c 69 62 64 69 72 3a 22 2a 29 20 3b 3b  ":$libdir:"*) ;;
bfd0: 0a 09 20 20 20 20 20 20 2a 29 20 66 69 6e 61 6c  ..      *) final
bfe0: 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3d 22 24  ize_shlibpath="$
bff0: 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61  finalize_shlibpa
c000: 74 68 24 6c 69 62 64 69 72 3a 22 20 3b 3b 0a 09  th$libdir:" ;;..
c010: 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20        esac..    
c020: 20 20 61 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a    add="-l$name".
c030: 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
c040: 20 23 20 57 65 20 63 61 6e 6e 6f 74 20 73 65 65   # We cannot see
c050: 6d 20 74 6f 20 68 61 72 64 63 6f 64 65 20 69 74  m to hardcode it
c060: 2c 20 67 75 65 73 73 20 77 65 27 6c 6c 20 66 61  , guess we'll fa
c070: 6b 65 20 69 74 2e 0a 09 20 20 20 20 20 20 61 64  ke it...      ad
c080: 64 5f 64 69 72 3d 22 2d 4c 24 6c 69 62 64 69 72  d_dir="-L$libdir
c090: 22 0a 09 20 20 20 20 20 20 23 20 54 72 79 20 6c  "..      # Try l
c0a0: 6f 6f 6b 69 6e 67 20 66 69 72 73 74 20 69 6e 20  ooking first in 
c0b0: 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 65 27  the location we'
c0c0: 72 65 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c  re being install
c0d0: 65 64 20 74 6f 2e 0a 09 20 20 20 20 20 20 69 66  ed to...      if
c0e0: 20 74 65 73 74 20 2d 6e 20 22 24 69 6e 73 74 5f   test -n "$inst_
c0f0: 70 72 65 66 69 78 5f 64 69 72 22 3b 20 74 68 65  prefix_dir"; the
c100: 6e 0a 09 09 63 61 73 65 20 22 24 6c 69 62 64 69  n...case "$libdi
c110: 72 22 20 69 6e 0a 09 09 5b 5c 2f 5d 2a 29 0a 09  r" in...[\/]*)..
c120: 09 20 20 61 64 64 5f 64 69 72 3d 22 2d 4c 24 69  .  add_dir="-L$i
c130: 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 24 6c  nst_prefix_dir$l
c140: 69 62 64 69 72 20 24 61 64 64 5f 64 69 72 22 0a  ibdir $add_dir".
c150: 09 09 20 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20  ..  ;;...esac.. 
c160: 20 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 61       fi..      a
c170: 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20  dd="-l$name"..  
c180: 20 20 66 69 0a 0a 09 20 20 20 20 69 66 20 74 65    fi...    if te
c190: 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70  st $linkmode = p
c1a0: 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  rog; then..     
c1b0: 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 5f 64   test -n "$add_d
c1c0: 69 72 22 20 26 26 20 66 69 6e 61 6c 69 7a 65 5f  ir" && finalize_
c1d0: 64 65 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69  deplibs="$add_di
c1e0: 72 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  r $finalize_depl
c1f0: 69 62 73 22 0a 09 20 20 20 20 20 20 74 65 73 74  ibs"..      test
c200: 20 2d 6e 20 22 24 61 64 64 22 20 26 26 20 66 69   -n "$add" && fi
c210: 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22  nalize_deplibs="
c220: 24 61 64 64 20 24 66 69 6e 61 6c 69 7a 65 5f 64  $add $finalize_d
c230: 65 70 6c 69 62 73 22 0a 09 20 20 20 20 65 6c 73  eplibs"..    els
c240: 65 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  e..      test -n
c250: 20 22 24 61 64 64 5f 64 69 72 22 20 26 26 20 64   "$add_dir" && d
c260: 65 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69 72  eplibs="$add_dir
c270: 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20   $deplibs"..    
c280: 20 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 22    test -n "$add"
c290: 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24 61 64   && deplibs="$ad
c2a0: 64 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20  d $deplibs"..   
c2b0: 20 66 69 0a 09 20 20 66 69 0a 09 65 6c 69 66 20   fi..  fi..elif 
c2c0: 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d  test $linkmode =
c2d0: 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 69   prog; then..  i
c2e0: 66 20 74 65 73 74 20 22 24 61 6c 6c 64 65 70 6c  f test "$alldepl
c2f0: 69 62 73 22 20 3d 20 79 65 73 20 26 26 0a 09 20  ibs" = yes &&.. 
c300: 20 20 20 20 7b 20 74 65 73 74 20 22 24 64 65 70      { test "$dep
c310: 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f  libs_check_metho
c320: 64 22 20 3d 20 70 61 73 73 5f 61 6c 6c 20 7c 7c  d" = pass_all ||
c330: 0a 09 20 20 20 20 20 20 20 7b 20 74 65 73 74 20  ..       { test 
c340: 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
c350: 6c 69 62 73 22 20 3d 20 79 65 73 20 26 26 0a 09  libs" = yes &&..
c360: 09 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 62 72  . test -n "$libr
c370: 61 72 79 5f 6e 61 6d 65 73 22 3b 20 7d 3b 20 7d  ary_names"; }; }
c380: 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 57 65  ; then..    # We
c390: 20 6f 6e 6c 79 20 6e 65 65 64 20 74 6f 20 73 65   only need to se
c3a0: 61 72 63 68 20 66 6f 72 20 73 74 61 74 69 63 20  arch for static 
c3b0: 6c 69 62 72 61 72 69 65 73 0a 09 20 20 20 20 63  libraries..    c
c3c0: 6f 6e 74 69 6e 75 65 0a 09 20 20 66 69 0a 0a 09  ontinue..  fi...
c3d0: 20 20 23 20 54 72 79 20 74 6f 20 6c 69 6e 6b 20    # Try to link 
c3e0: 74 68 65 20 73 74 61 74 69 63 20 6c 69 62 72 61  the static libra
c3f0: 72 79 0a 09 20 20 23 20 48 65 72 65 20 77 65 20  ry..  # Here we 
c400: 61 73 73 75 6d 65 20 74 68 61 74 20 6f 6e 65 20  assume that one 
c410: 6f 66 20 68 61 72 64 63 6f 64 65 5f 64 69 72 65  of hardcode_dire
c420: 63 74 20 6f 72 20 68 61 72 64 63 6f 64 65 5f 6d  ct or hardcode_m
c430: 69 6e 75 73 5f 4c 0a 09 20 20 23 20 69 73 20 6e  inus_L..  # is n
c440: 6f 74 20 75 6e 73 75 70 70 6f 72 74 65 64 2e 20  ot unsupported. 
c450: 20 54 68 69 73 20 69 73 20 76 61 6c 69 64 20 6f   This is valid o
c460: 6e 20 61 6c 6c 20 6b 6e 6f 77 6e 20 73 74 61 74  n all known stat
c470: 69 63 20 61 6e 64 0a 09 20 20 23 20 73 68 61 72  ic and..  # shar
c480: 65 64 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 09 20  ed platforms... 
c490: 20 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63   if test "$hardc
c4a0: 6f 64 65 5f 64 69 72 65 63 74 22 20 21 3d 20 75  ode_direct" != u
c4b0: 6e 73 75 70 70 6f 72 74 65 64 3b 20 74 68 65 6e  nsupported; then
c4c0: 0a 09 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24  ..    test -n "$
c4d0: 6f 6c 64 5f 6c 69 62 72 61 72 79 22 20 26 26 20  old_library" && 
c4e0: 6c 69 6e 6b 6c 69 62 3d 22 24 6f 6c 64 5f 6c 69  linklib="$old_li
c4f0: 62 72 61 72 79 22 0a 09 20 20 20 20 63 6f 6d 70  brary"..    comp
c500: 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 69  ile_deplibs="$di
c510: 72 2f 24 6c 69 6e 6b 6c 69 62 20 24 63 6f 6d 70  r/$linklib $comp
c520: 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ile_deplibs"..  
c530: 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69    finalize_depli
c540: 62 73 3d 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69  bs="$dir/$linkli
c550: 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
c560: 69 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ibs"..  else..  
c570: 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62    compile_deplib
c580: 73 3d 22 2d 6c 24 6e 61 6d 65 20 2d 4c 24 64 69  s="-l$name -L$di
c590: 72 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  r $compile_depli
c5a0: 62 73 22 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a  bs"..    finaliz
c5b0: 65 5f 64 65 70 6c 69 62 73 3d 22 2d 6c 24 6e 61  e_deplibs="-l$na
c5c0: 6d 65 20 2d 4c 24 64 69 72 20 24 66 69 6e 61 6c  me -L$dir $final
c5d0: 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 20 20  ize_deplibs"..  
c5e0: 66 69 0a 09 65 6c 69 66 20 74 65 73 74 20 22 24  fi..elif test "$
c5f0: 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
c600: 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  bs" = yes; then.
c610: 09 20 20 23 20 4e 6f 74 20 61 20 73 68 61 72 65  .  # Not a share
c620: 64 20 6c 69 62 72 61 72 79 0a 09 20 20 69 66 20  d library..  if 
c630: 74 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63  test "$deplibs_c
c640: 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20  heck_method" != 
c650: 70 61 73 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09  pass_all; then..
c660: 20 20 20 20 23 20 57 65 27 72 65 20 74 72 79 69      # We're tryi
c670: 6e 67 20 6c 69 6e 6b 20 61 20 73 68 61 72 65 64  ng link a shared
c680: 20 6c 69 62 72 61 72 79 20 61 67 61 69 6e 73 74   library against
c690: 20 61 20 73 74 61 74 69 63 20 6f 6e 65 0a 09 20   a static one.. 
c6a0: 20 20 20 23 20 62 75 74 20 74 68 65 20 73 79 73     # but the sys
c6b0: 74 65 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70  tem doesn't supp
c6c0: 6f 72 74 20 69 74 2e 0a 0a 09 20 20 20 20 23 20  ort it....    # 
c6d0: 4a 75 73 74 20 70 72 69 6e 74 20 61 20 77 61 72  Just print a war
c6e0: 6e 69 6e 67 20 61 6e 64 20 61 64 64 20 74 68 65  ning and add the
c6f0: 20 6c 69 62 72 61 72 79 20 74 6f 20 64 65 70 65   library to depe
c700: 6e 64 65 6e 63 79 5f 6c 69 62 73 20 73 6f 0a 09  ndency_libs so..
c710: 20 20 20 20 23 20 74 68 61 74 20 74 68 65 20 70      # that the p
c720: 72 6f 67 72 61 6d 20 63 61 6e 20 62 65 20 6c 69  rogram can be li
c730: 6e 6b 65 64 20 61 67 61 69 6e 73 74 20 74 68 65  nked against the
c740: 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2e   static library.
c750: 0a 09 20 20 20 20 65 63 68 6f 0a 09 20 20 20 20  ..    echo..    
c760: 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e  echo "*** Warnin
c770: 67 3a 20 54 68 69 73 20 73 79 73 74 65 6d 20 63  g: This system c
c780: 61 6e 20 6e 6f 74 20 6c 69 6e 6b 20 74 6f 20 73  an not link to s
c790: 74 61 74 69 63 20 6c 69 62 20 61 72 63 68 69 76  tatic lib archiv
c7a0: 65 20 24 6c 69 62 2e 22 0a 09 20 20 20 20 65 63  e $lib."..    ec
c7b0: 68 6f 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74  ho "*** I have t
c7c0: 68 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f  he capability to
c7d0: 20 6d 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61   make that libra
c7e0: 72 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ry automatically
c7f0: 20 6c 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09   link in when"..
c800: 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 79 6f      echo "*** yo
c810: 75 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c  u link to this l
c820: 69 62 72 61 72 79 2e 20 20 42 75 74 20 49 20 63  ibrary.  But I c
c830: 61 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20  an only do this 
c840: 69 66 20 79 6f 75 20 68 61 76 65 20 61 22 0a 09  if you have a"..
c850: 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 73 68      echo "*** sh
c860: 61 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20  ared version of 
c870: 74 68 65 20 6c 69 62 72 61 72 79 2c 20 77 68 69  the library, whi
c880: 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 70  ch you do not ap
c890: 70 65 61 72 20 74 6f 20 68 61 76 65 2e 22 0a 09  pear to have."..
c8a0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6d 6f      if test "$mo
c8b0: 64 75 6c 65 22 20 3d 20 79 65 73 3b 20 74 68 65  dule" = yes; the
c8c0: 6e 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a  n..      echo "*
c8d0: 2a 2a 20 42 75 74 20 61 73 20 79 6f 75 20 74 72  ** But as you tr
c8e0: 79 20 74 6f 20 62 75 69 6c 64 20 61 20 6d 6f 64  y to build a mod
c8f0: 75 6c 65 20 6c 69 62 72 61 72 79 2c 20 6c 69 62  ule library, lib
c900: 74 6f 6f 6c 20 77 69 6c 6c 20 73 74 69 6c 6c 20  tool will still 
c910: 63 72 65 61 74 65 20 22 0a 09 20 20 20 20 20 20  create "..      
c920: 65 63 68 6f 20 22 2a 2a 2a 20 61 20 73 74 61 74  echo "*** a stat
c930: 69 63 20 6d 6f 64 75 6c 65 2c 20 74 68 61 74 20  ic module, that 
c940: 73 68 6f 75 6c 64 20 77 6f 72 6b 20 61 73 20 6c  should work as l
c950: 6f 6e 67 20 61 73 20 74 68 65 20 64 6c 6f 70 65  ong as the dlope
c960: 6e 69 6e 67 20 61 70 70 6c 69 63 61 74 69 6f 6e  ning application
c970: 22 0a 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a  "..      echo "*
c980: 2a 2a 20 69 73 20 6c 69 6e 6b 65 64 20 77 69 74  ** is linked wit
c990: 68 20 74 68 65 20 2d 64 6c 6f 70 65 6e 20 66 6c  h the -dlopen fl
c9a0: 61 67 20 74 6f 20 72 65 73 6f 6c 76 65 20 73 79  ag to resolve sy
c9b0: 6d 62 6f 6c 73 20 61 74 20 72 75 6e 74 69 6d 65  mbols at runtime
c9c0: 2e 22 0a 09 20 20 20 20 20 20 69 66 20 74 65 73  ."..      if tes
c9d0: 74 20 2d 7a 20 22 24 67 6c 6f 62 61 6c 5f 73 79  t -z "$global_sy
c9e0: 6d 62 6f 6c 5f 70 69 70 65 22 3b 20 74 68 65 6e  mbol_pipe"; then
c9f0: 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f 20 22  ...echo...echo "
ca00: 2a 2a 2a 20 48 6f 77 65 76 65 72 2c 20 74 68 69  *** However, thi
ca10: 73 20 77 6f 75 6c 64 20 6f 6e 6c 79 20 77 6f 72  s would only wor
ca20: 6b 20 69 66 20 6c 69 62 74 6f 6f 6c 20 77 61 73  k if libtool was
ca30: 20 61 62 6c 65 20 74 6f 20 65 78 74 72 61 63 74   able to extract
ca40: 20 73 79 6d 62 6f 6c 22 0a 09 09 65 63 68 6f 20   symbol"...echo 
ca50: 22 2a 2a 2a 20 6c 69 73 74 73 20 66 72 6f 6d 20  "*** lists from 
ca60: 61 20 70 72 6f 67 72 61 6d 2c 20 75 73 69 6e 67  a program, using
ca70: 20 5c 60 6e 6d 27 20 6f 72 20 65 71 75 69 76 61   \`nm' or equiva
ca80: 6c 65 6e 74 2c 20 62 75 74 20 6c 69 62 74 6f 6f  lent, but libtoo
ca90: 6c 20 63 6f 75 6c 64 22 0a 09 09 65 63 68 6f 20  l could"...echo 
caa0: 22 2a 2a 2a 20 6e 6f 74 20 66 69 6e 64 20 73 75  "*** not find su
cab0: 63 68 20 61 20 70 72 6f 67 72 61 6d 2e 20 20 53  ch a program.  S
cac0: 6f 2c 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 69  o, this module i
cad0: 73 20 70 72 6f 62 61 62 6c 79 20 75 73 65 6c 65  s probably usele
cae0: 73 73 2e 22 0a 09 09 65 63 68 6f 20 22 2a 2a 2a  ss."...echo "***
caf0: 20 5c 60 6e 6d 27 20 66 72 6f 6d 20 47 4e 55 20   \`nm' from GNU 
cb00: 62 69 6e 75 74 69 6c 73 20 61 6e 64 20 61 20 66  binutils and a f
cb10: 75 6c 6c 20 72 65 62 75 69 6c 64 20 6d 61 79 20  ull rebuild may 
cb20: 68 65 6c 70 2e 22 0a 09 20 20 20 20 20 20 66 69  help."..      fi
cb30: 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
cb40: 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73  "$build_old_libs
cb50: 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 62  " = no; then...b
cb60: 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
cb70: 73 3d 6d 6f 64 75 6c 65 0a 09 09 62 75 69 6c 64  s=module...build
cb80: 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20  _old_libs=yes.. 
cb90: 20 20 20 20 20 65 6c 73 65 0a 09 09 62 75 69 6c       else...buil
cba0: 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e  d_libtool_libs=n
cbb0: 6f 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20  o..      fi..   
cbc0: 20 66 69 0a 09 20 20 65 6c 73 65 0a 09 20 20 20   fi..  else..   
cbd0: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24 63   convenience="$c
cbe0: 6f 6e 76 65 6e 69 65 6e 63 65 20 24 64 69 72 2f  onvenience $dir/
cbf0: 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 20  $old_library".. 
cc00: 20 20 20 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e     old_convenien
cc10: 63 65 3d 22 24 6f 6c 64 5f 63 6f 6e 76 65 6e 69  ce="$old_conveni
cc20: 65 6e 63 65 20 24 64 69 72 2f 24 6f 6c 64 5f 6c  ence $dir/$old_l
cc30: 69 62 72 61 72 79 22 0a 09 20 20 20 20 64 65 70  ibrary"..    dep
cc40: 6c 69 62 73 3d 22 24 64 69 72 2f 24 6f 6c 64 5f  libs="$dir/$old_
cc50: 6c 69 62 72 61 72 79 20 24 64 65 70 6c 69 62 73  library $deplibs
cc60: 22 0a 09 20 20 20 20 6c 69 6e 6b 5f 73 74 61 74  "..    link_stat
cc70: 69 63 3d 79 65 73 0a 09 20 20 66 69 0a 09 66 69  ic=yes..  fi..fi
cc80: 20 23 20 6c 69 6e 6b 20 73 68 61 72 65 64 2f 73   # link shared/s
cc90: 74 61 74 69 63 20 6c 69 62 72 61 72 79 3f 0a 0a  tatic library?..
cca0: 09 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 6d 6f  .if test $linkmo
ccb0: 64 65 20 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09  de = lib; then..
ccc0: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64    if test -n "$d
ccd0: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22 20  ependency_libs" 
cce0: 26 26 0a 09 20 20 20 20 20 7b 20 74 65 73 74 20  &&..     { test 
ccf0: 24 68 61 72 64 63 6f 64 65 5f 69 6e 74 6f 5f 6c  $hardcode_into_l
cd00: 69 62 73 20 21 3d 20 79 65 73 20 7c 7c 20 74 65  ibs != yes || te
cd10: 73 74 20 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69  st $build_old_li
cd20: 62 73 20 3d 20 79 65 73 20 7c 7c 0a 09 20 20 20  bs = yes ||..   
cd30: 20 20 20 20 74 65 73 74 20 24 6c 69 6e 6b 5f 73      test $link_s
cd40: 74 61 74 69 63 20 3d 20 79 65 73 3b 20 7d 3b 20  tatic = yes; }; 
cd50: 74 68 65 6e 0a 09 20 20 20 20 23 20 45 78 74 72  then..    # Extr
cd60: 61 63 74 20 2d 52 20 66 72 6f 6d 20 64 65 70 65  act -R from depe
cd70: 6e 64 65 6e 63 79 5f 6c 69 62 73 0a 09 20 20 20  ndency_libs..   
cd80: 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 0a 09   temp_deplibs=..
cd90: 20 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69      for libdir i
cda0: 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  n $dependency_li
cdb0: 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 63 61  bs; do..      ca
cdc0: 73 65 20 24 6c 69 62 64 69 72 20 69 6e 0a 09 20  se $libdir in.. 
cdd0: 20 20 20 20 20 2d 52 2a 29 20 74 65 6d 70 5f 78       -R*) temp_x
cde0: 72 70 61 74 68 3d 60 24 65 63 68 6f 20 22 58 24  rpath=`$echo "X$
cdf0: 6c 69 62 64 69 72 22 20 7c 20 24 58 73 65 64 20  libdir" | $Xsed 
ce00: 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09 09  -e 's/^-R//'`...
ce10: 20 20 20 63 61 73 65 20 22 20 24 78 72 70 61 74     case " $xrpat
ce20: 68 20 22 20 69 6e 0a 09 09 20 20 20 2a 22 20 24  h " in...   *" $
ce30: 74 65 6d 70 5f 78 72 70 61 74 68 20 22 2a 29 20  temp_xrpath "*) 
ce40: 3b 3b 0a 09 09 20 20 20 2a 29 20 78 72 70 61 74  ;;...   *) xrpat
ce50: 68 3d 22 24 78 72 70 61 74 68 20 24 74 65 6d 70  h="$xrpath $temp
ce60: 5f 78 72 70 61 74 68 22 3b 3b 0a 09 09 20 20 20  _xrpath";;...   
ce70: 65 73 61 63 3b 3b 0a 09 20 20 20 20 20 20 2a 29  esac;;..      *)
ce80: 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 22 24   temp_deplibs="$
ce90: 74 65 6d 70 5f 64 65 70 6c 69 62 73 20 24 6c 69  temp_deplibs $li
cea0: 62 64 69 72 22 3b 3b 0a 09 20 20 20 20 20 20 65  bdir";;..      e
ceb0: 73 61 63 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20  sac..    done.. 
cec0: 20 20 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69     dependency_li
ced0: 62 73 3d 22 24 74 65 6d 70 5f 64 65 70 6c 69 62  bs="$temp_deplib
cee0: 73 22 0a 09 20 20 66 69 0a 0a 09 20 20 6e 65 77  s"..  fi...  new
cef0: 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d  lib_search_path=
cf00: 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f  "$newlib_search_
cf10: 70 61 74 68 20 24 61 62 73 64 69 72 22 0a 09 20  path $absdir".. 
cf20: 20 23 20 4c 69 6e 6b 20 61 67 61 69 6e 73 74 20   # Link against 
cf30: 74 68 69 73 20 6c 69 62 72 61 72 79 0a 09 20 20  this library..  
cf40: 74 65 73 74 20 22 24 6c 69 6e 6b 5f 73 74 61 74  test "$link_stat
cf50: 69 63 22 20 3d 20 6e 6f 20 26 26 20 6e 65 77 64  ic" = no && newd
cf60: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
cf70: 24 61 62 73 5f 6c 61 64 69 72 2f 24 6c 61 6e 61  $abs_ladir/$lana
cf80: 6d 65 20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63  me $newdependenc
cf90: 79 5f 6c 69 62 73 22 0a 09 20 20 23 20 2e 2e 2e  y_libs"..  # ...
cfa0: 20 61 6e 64 20 69 74 73 20 64 65 70 65 6e 64 65   and its depende
cfb0: 6e 63 79 5f 6c 69 62 73 0a 09 20 20 74 6d 70 5f  ncy_libs..  tmp_
cfc0: 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70  libs=..  for dep
cfd0: 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
cfe0: 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
cff0: 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c   newdependency_l
d000: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65  ibs="$deplib $ne
d010: 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
d020: 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  "..    if test "
d030: 58 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73  X$duplicate_deps
d040: 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
d050: 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24  n..      case "$
d060: 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20  tmp_libs " in.. 
d070: 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62 20       *" $deplib 
d080: 22 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c 69  "*) specialdepli
d090: 62 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70 6c  bs="$specialdepl
d0a0: 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a  ibs $deplib" ;;.
d0b0: 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
d0c0: 20 66 69 0a 09 20 20 20 20 74 6d 70 5f 6c 69 62   fi..    tmp_lib
d0d0: 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20 24 64 65  s="$tmp_libs $de
d0e0: 70 6c 69 62 22 0a 09 20 20 64 6f 6e 65 0a 0a 09  plib"..  done...
d0f0: 20 20 69 66 20 74 65 73 74 20 24 6c 69 6e 6b 5f    if test $link_
d100: 61 6c 6c 5f 64 65 70 6c 69 62 73 20 21 3d 20 6e  all_deplibs != n
d110: 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 41  o; then..    # A
d120: 64 64 20 74 68 65 20 73 65 61 72 63 68 20 70 61  dd the search pa
d130: 74 68 73 20 6f 66 20 61 6c 6c 20 64 65 70 65 6e  ths of all depen
d140: 64 65 6e 63 79 20 6c 69 62 72 61 72 69 65 73 0a  dency libraries.
d150: 09 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62 20  .    for deplib 
d160: 69 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c  in $dependency_l
d170: 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 63  ibs; do..      c
d180: 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e 0a 09  ase $deplib in..
d190: 20 20 20 20 20 20 2d 4c 2a 29 20 70 61 74 68 3d        -L*) path=
d1a0: 22 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20  "$deplib" ;;..  
d1b0: 20 20 20 20 2a 2e 6c 61 29 0a 09 09 64 69 72 3d      *.la)...dir=
d1c0: 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c 69 62  `$echo "X$deplib
d1d0: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
d1e0: 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 09 74 65  /[^/]*$%%'`...te
d1f0: 73 74 20 22 58 24 64 69 72 22 20 3d 20 22 58 24  st "X$dir" = "X$
d200: 64 65 70 6c 69 62 22 20 26 26 20 64 69 72 3d 22  deplib" && dir="
d210: 2e 22 0a 09 09 23 20 57 65 20 6e 65 65 64 20 61  ."...# We need a
d220: 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2e  n absolute path.
d230: 0a 09 09 63 61 73 65 20 24 64 69 72 20 69 6e 0a  ...case $dir in.
d240: 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61  ..[\\/]* | [A-Za
d250: 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 64  -z]:[\\/]*) absd
d260: 69 72 3d 22 24 64 69 72 22 20 3b 3b 0a 09 09 2a  ir="$dir" ;;...*
d270: 29 0a 09 09 20 20 61 62 73 64 69 72 3d 60 63 64  )...  absdir=`cd
d280: 20 22 24 64 69 72 22 20 26 26 20 70 77 64 60 0a   "$dir" && pwd`.
d290: 09 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22  ..  if test -z "
d2a0: 24 61 62 73 64 69 72 22 3b 20 74 68 65 6e 0a 09  $absdir"; then..
d2b0: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
d2c0: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
d2d0: 63 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65  cannot determine
d2e0: 20 61 62 73 6f 6c 75 74 65 20 64 69 72 65 63 74   absolute direct
d2f0: 6f 72 79 20 6e 61 6d 65 20 6f 66 20 5c 60 24 64  ory name of \`$d
d300: 69 72 27 22 20 31 3e 26 32 0a 09 09 20 20 20 20  ir'" 1>&2...    
d310: 61 62 73 64 69 72 3d 22 24 64 69 72 22 0a 09 09  absdir="$dir"...
d320: 20 20 66 69 0a 09 09 20 20 3b 3b 0a 09 09 65 73    fi...  ;;...es
d330: 61 63 0a 09 09 69 66 20 67 72 65 70 20 22 5e 69  ac...if grep "^i
d340: 6e 73 74 61 6c 6c 65 64 3d 6e 6f 22 20 24 64 65  nstalled=no" $de
d350: 70 6c 69 62 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c  plib > /dev/null
d360: 3b 20 74 68 65 6e 0a 09 09 20 20 70 61 74 68 3d  ; then...  path=
d370: 22 2d 4c 24 61 62 73 64 69 72 2f 24 6f 62 6a 64  "-L$absdir/$objd
d380: 69 72 22 0a 09 09 65 6c 73 65 0a 09 09 20 20 65  ir"...else...  e
d390: 76 61 6c 20 6c 69 62 64 69 72 3d 60 24 7b 53 45  val libdir=`${SE
d3a0: 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62  D} -n -e 's/^lib
d3b0: 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c 31 2f 70  dir=\(.*\)$/\1/p
d3c0: 27 20 24 64 65 70 6c 69 62 60 0a 09 09 20 20 69  ' $deplib`...  i
d3d0: 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 64  f test -z "$libd
d3e0: 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 20 20  ir"; then...    
d3f0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
d400: 3a 20 5c 60 24 64 65 70 6c 69 62 27 20 69 73 20  : \`$deplib' is 
d410: 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74  not a valid libt
d420: 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26  ool archive" 1>&
d430: 32 0a 09 09 20 20 20 20 65 78 69 74 20 31 0a 09  2...    exit 1..
d440: 09 20 20 66 69 0a 09 09 20 20 69 66 20 74 65 73  .  fi...  if tes
d450: 74 20 22 24 61 62 73 64 69 72 22 20 21 3d 20 22  t "$absdir" != "
d460: 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09  $libdir"; then..
d470: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
d480: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
d490: 5c 60 24 64 65 70 6c 69 62 27 20 73 65 65 6d 73  \`$deplib' seems
d4a0: 20 74 6f 20 62 65 20 6d 6f 76 65 64 22 20 31 3e   to be moved" 1>
d4b0: 26 32 0a 09 09 20 20 66 69 0a 09 09 20 20 70 61  &2...  fi...  pa
d4c0: 74 68 3d 22 2d 4c 24 61 62 73 64 69 72 22 0a 09  th="-L$absdir"..
d4d0: 09 66 69 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20  .fi...;;..      
d4e0: 2a 29 20 63 6f 6e 74 69 6e 75 65 20 3b 3b 0a 09  *) continue ;;..
d4f0: 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20 20        esac..    
d500: 20 20 63 61 73 65 20 22 20 24 64 65 70 6c 69 62    case " $deplib
d510: 73 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22  s " in..      *"
d520: 20 24 70 61 74 68 20 22 2a 29 20 3b 3b 0a 09 20   $path "*) ;;.. 
d530: 20 20 20 20 20 2a 29 20 64 65 70 6c 69 62 73 3d       *) deplibs=
d540: 22 24 64 65 70 6c 69 62 73 20 24 70 61 74 68 22  "$deplibs $path"
d550: 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a   ;;..      esac.
d560: 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 66 69 20  .    done..  fi 
d570: 23 20 6c 69 6e 6b 5f 61 6c 6c 5f 64 65 70 6c 69  # link_all_depli
d580: 62 73 20 21 3d 20 6e 6f 0a 09 66 69 20 23 20 6c  bs != no..fi # l
d590: 69 6e 6b 6d 6f 64 65 20 3d 20 6c 69 62 0a 20 20  inkmode = lib.  
d5a0: 20 20 20 20 64 6f 6e 65 20 23 20 66 6f 72 20 64      done # for d
d5b0: 65 70 6c 69 62 20 69 6e 20 24 6c 69 62 73 0a 20  eplib in $libs. 
d5c0: 20 20 20 20 20 69 66 20 74 65 73 74 20 24 70 61       if test $pa
d5d0: 73 73 20 3d 20 64 6c 70 72 65 6f 70 65 6e 3b 20  ss = dlpreopen; 
d5e0: 74 68 65 6e 0a 09 23 20 4c 69 6e 6b 20 74 68 65  then..# Link the
d5f0: 20 64 6c 70 72 65 6f 70 65 6e 65 64 20 6c 69 62   dlpreopened lib
d600: 72 61 72 69 65 73 20 62 65 66 6f 72 65 20 6f 74  raries before ot
d610: 68 65 72 20 6c 69 62 72 61 72 69 65 73 0a 09 66  her libraries..f
d620: 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 73 61  or deplib in $sa
d630: 76 65 5f 64 65 70 6c 69 62 73 3b 20 64 6f 0a 09  ve_deplibs; do..
d640: 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c    deplibs="$depl
d650: 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 64 6f  ib $deplibs"..do
d660: 6e 65 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  ne.      fi.    
d670: 20 20 69 66 20 74 65 73 74 20 24 70 61 73 73 20    if test $pass 
d680: 21 3d 20 64 6c 6f 70 65 6e 3b 20 74 68 65 6e 0a  != dlopen; then.
d690: 09 74 65 73 74 20 24 70 61 73 73 20 21 3d 20 73  .test $pass != s
d6a0: 63 61 6e 20 26 26 20 64 65 70 65 6e 64 65 6e 63  can && dependenc
d6b0: 79 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 65  y_libs="$newdepe
d6c0: 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 69 66  ndency_libs"..if
d6d0: 20 74 65 73 74 20 24 70 61 73 73 20 21 3d 20 63   test $pass != c
d6e0: 6f 6e 76 3b 20 74 68 65 6e 0a 09 20 20 23 20 4d  onv; then..  # M
d6f0: 61 6b 65 20 73 75 72 65 20 6c 69 62 5f 73 65 61  ake sure lib_sea
d700: 72 63 68 5f 70 61 74 68 20 63 6f 6e 74 61 69 6e  rch_path contain
d710: 73 20 6f 6e 6c 79 20 75 6e 69 71 75 65 20 64 69  s only unique di
d720: 72 65 63 74 6f 72 69 65 73 2e 0a 09 20 20 6c 69  rectories...  li
d730: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 0a 09  b_search_path=..
d740: 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24 6e 65    for dir in $ne
d750: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
d760: 3b 20 64 6f 0a 09 20 20 20 20 63 61 73 65 20 22  ; do..    case "
d770: 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
d780: 20 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 64   " in..    *" $d
d790: 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a  ir "*) ;;..    *
d7a0: 29 20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74  ) lib_search_pat
d7b0: 68 3d 22 24 6c 69 62 5f 73 65 61 72 63 68 5f 70  h="$lib_search_p
d7c0: 61 74 68 20 24 64 69 72 22 20 3b 3b 0a 09 20 20  ath $dir" ;;..  
d7d0: 20 20 65 73 61 63 0a 09 20 20 64 6f 6e 65 0a 09    esac..  done..
d7e0: 20 20 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f    newlib_search_
d7f0: 70 61 74 68 3d 0a 09 66 69 0a 0a 09 69 66 20 74  path=..fi...if t
d800: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24  est "$linkmode,$
d810: 70 61 73 73 22 20 21 3d 20 22 70 72 6f 67 2c 6c  pass" != "prog,l
d820: 69 6e 6b 22 3b 20 74 68 65 6e 0a 09 20 20 76 61  ink"; then..  va
d830: 72 73 3d 22 64 65 70 6c 69 62 73 22 0a 09 65 6c  rs="deplibs"..el
d840: 73 65 0a 09 20 20 76 61 72 73 3d 22 63 6f 6d 70  se..  vars="comp
d850: 69 6c 65 5f 64 65 70 6c 69 62 73 20 66 69 6e 61  ile_deplibs fina
d860: 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a 09 66  lize_deplibs"..f
d870: 69 0a 09 66 6f 72 20 76 61 72 20 69 6e 20 24 76  i..for var in $v
d880: 61 72 73 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c  ars dependency_l
d890: 69 62 73 3b 20 64 6f 0a 09 20 20 23 20 41 64 64  ibs; do..  # Add
d8a0: 20 6c 69 62 72 61 72 69 65 73 20 74 6f 20 24 76   libraries to $v
d8b0: 61 72 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72  ar in reverse or
d8c0: 64 65 72 0a 09 20 20 65 76 61 6c 20 74 6d 70 5f  der..  eval tmp_
d8d0: 6c 69 62 73 3d 5c 22 5c 24 24 76 61 72 5c 22 0a  libs=\"\$$var\".
d8e0: 09 20 20 6e 65 77 5f 6c 69 62 73 3d 0a 09 20 20  .  new_libs=..  
d8f0: 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 74  for deplib in $t
d900: 6d 70 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  mp_libs; do..   
d910: 20 63 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e   case $deplib in
d920: 0a 09 20 20 20 20 2d 4c 2a 29 20 6e 65 77 5f 6c  ..    -L*) new_l
d930: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65  ibs="$deplib $ne
d940: 77 5f 6c 69 62 73 22 20 3b 3b 0a 09 20 20 20 20  w_libs" ;;..    
d950: 2a 29 0a 09 20 20 20 20 20 20 63 61 73 65 20 22  *)..      case "
d960: 20 24 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73   $specialdeplibs
d970: 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20   " in..      *" 
d980: 24 64 65 70 6c 69 62 20 22 2a 29 20 6e 65 77 5f  $deplib "*) new_
d990: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e  libs="$deplib $n
d9a0: 65 77 5f 6c 69 62 73 22 20 3b 3b 0a 09 20 20 20  ew_libs" ;;..   
d9b0: 20 20 20 2a 29 0a 09 09 63 61 73 65 20 22 20 24     *)...case " $
d9c0: 6e 65 77 5f 6c 69 62 73 20 22 20 69 6e 0a 09 09  new_libs " in...
d9d0: 2a 22 20 24 64 65 70 6c 69 62 20 22 2a 29 20 3b  *" $deplib "*) ;
d9e0: 3b 0a 09 09 2a 29 20 6e 65 77 5f 6c 69 62 73 3d  ;...*) new_libs=
d9f0: 22 24 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69  "$deplib $new_li
da00: 62 73 22 20 3b 3b 0a 09 09 65 73 61 63 0a 09 09  bs" ;;...esac...
da10: 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
da20: 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73        ;;..    es
da30: 61 63 0a 09 20 20 64 6f 6e 65 0a 09 20 20 74 6d  ac..  done..  tm
da40: 70 5f 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64  p_libs=..  for d
da50: 65 70 6c 69 62 20 69 6e 20 24 6e 65 77 5f 6c 69  eplib in $new_li
da60: 62 73 3b 20 64 6f 0a 09 20 20 20 20 63 61 73 65  bs; do..    case
da70: 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 20 20 20   $deplib in..   
da80: 20 2d 4c 2a 29 0a 09 20 20 20 20 20 20 63 61 73   -L*)..      cas
da90: 65 20 22 20 24 74 6d 70 5f 6c 69 62 73 20 22 20  e " $tmp_libs " 
daa0: 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65  in..      *" $de
dab0: 70 6c 69 62 20 22 2a 29 20 3b 3b 0a 09 20 20 20  plib "*) ;;..   
dac0: 20 20 20 2a 29 20 74 6d 70 5f 6c 69 62 73 3d 22     *) tmp_libs="
dad0: 24 74 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c 69  $tmp_libs $depli
dae0: 62 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61  b" ;;..      esa
daf0: 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20  c..      ;;..   
db00: 20 2a 29 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74   *) tmp_libs="$t
db10: 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22  mp_libs $deplib"
db20: 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20   ;;..    esac.. 
db30: 20 64 6f 6e 65 0a 09 20 20 65 76 61 6c 20 24 76   done..  eval $v
db40: 61 72 3d 5c 22 24 74 6d 70 5f 6c 69 62 73 5c 22  ar=\"$tmp_libs\"
db50: 0a 09 64 6f 6e 65 20 23 20 66 6f 72 20 76 61 72  ..done # for var
db60: 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
db70: 69 66 20 74 65 73 74 20 22 24 70 61 73 73 22 20  if test "$pass" 
db80: 3d 20 22 63 6f 6e 76 22 20 26 26 0a 20 20 20 20  = "conv" &&.    
db90: 20 20 20 7b 20 74 65 73 74 20 22 24 6c 69 6e 6b     { test "$link
dba0: 6d 6f 64 65 22 20 3d 20 22 6c 69 62 22 20 7c 7c  mode" = "lib" ||
dbb0: 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
dbc0: 22 20 3d 20 22 70 72 6f 67 22 3b 20 7d 3b 20 74  " = "prog"; }; t
dbd0: 68 65 6e 0a 09 6c 69 62 73 3d 22 24 64 65 70 6c  hen..libs="$depl
dbe0: 69 62 73 22 20 23 20 72 65 73 65 74 20 6c 69 62  ibs" # reset lib
dbf0: 73 0a 09 64 65 70 6c 69 62 73 3d 0a 20 20 20 20  s..deplibs=.    
dc00: 20 20 66 69 0a 20 20 20 20 64 6f 6e 65 20 23 20    fi.    done # 
dc10: 66 6f 72 20 70 61 73 73 0a 20 20 20 20 69 66 20  for pass.    if 
dc20: 74 65 73 74 20 24 6c 69 6e 6b 6d 6f 64 65 20 3d  test $linkmode =
dc30: 20 70 72 6f 67 3b 20 74 68 65 6e 0a 20 20 20 20   prog; then.    
dc40: 20 20 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64    dlfiles="$newd
dc50: 6c 66 69 6c 65 73 22 0a 20 20 20 20 20 20 64 6c  lfiles".      dl
dc60: 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c  prefiles="$newdl
dc70: 70 72 65 66 69 6c 65 73 22 0a 20 20 20 20 66 69  prefiles".    fi
dc80: 0a 0a 20 20 20 20 63 61 73 65 20 24 6c 69 6e 6b  ..    case $link
dc90: 6d 6f 64 65 20 69 6e 0a 20 20 20 20 6f 6c 64 6c  mode in.    oldl
dca0: 69 62 29 0a 20 20 20 20 20 20 69 66 20 74 65 73  ib).      if tes
dcb0: 74 20 2d 6e 20 22 24 64 6c 66 69 6c 65 73 24 64  t -n "$dlfiles$d
dcc0: 6c 70 72 65 66 69 6c 65 73 22 20 7c 7c 20 74 65  lprefiles" || te
dcd0: 73 74 20 22 24 64 6c 73 65 6c 66 22 20 21 3d 20  st "$dlself" != 
dce0: 6e 6f 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20  no; then..$echo 
dcf0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
dd00: 69 6e 67 3a 20 5c 60 2d 64 6c 6f 70 65 6e 27 20  ing: \`-dlopen' 
dd10: 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61  is ignored for a
dd20: 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20  rchives" 1>&2.  
dd30: 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
dd40: 20 74 65 73 74 20 2d 6e 20 22 24 72 70 61 74 68   test -n "$rpath
dd50: 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
dd60: 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
dd70: 6e 67 3a 20 5c 60 2d 72 70 61 74 68 27 20 69 73  ng: \`-rpath' is
dd80: 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63   ignored for arc
dd90: 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20  hives" 1>&2.    
dda0: 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
ddb0: 65 73 74 20 2d 6e 20 22 24 78 72 70 61 74 68 22  est -n "$xrpath"
ddc0: 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24  ; then..$echo "$
ddd0: 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
dde0: 67 3a 20 5c 60 2d 52 27 20 69 73 20 69 67 6e 6f  g: \`-R' is igno
ddf0: 72 65 64 20 66 6f 72 20 61 72 63 68 69 76 65 73  red for archives
de00: 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a  " 1>&2.      fi.
de10: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
de20: 6e 20 22 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e  n "$vinfo"; then
de30: 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
de40: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
de50: 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73  version-info' is
de60: 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63   ignored for arc
de70: 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20  hives" 1>&2.    
de80: 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
de90: 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65  est -n "$release
dea0: 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
deb0: 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
dec0: 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20  ng: \`-release' 
ded0: 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61  is ignored for a
dee0: 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20  rchives" 1>&2.  
def0: 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
df00: 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72   test -n "$expor
df10: 74 5f 73 79 6d 62 6f 6c 73 22 20 7c 7c 20 74 65  t_symbols" || te
df20: 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73  st -n "$export_s
df30: 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74  ymbols_regex"; t
df40: 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  hen..$echo "$mod
df50: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
df60: 5c 60 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c  \`-export-symbol
df70: 73 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  s' is ignored fo
df80: 72 20 61 72 63 68 69 76 65 73 22 20 31 3e 26 32  r archives" 1>&2
df90: 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
dfa0: 20 23 20 4e 6f 77 20 73 65 74 20 74 68 65 20 76   # Now set the v
dfb0: 61 72 69 61 62 6c 65 73 20 66 6f 72 20 62 75 69  ariables for bui
dfc0: 6c 64 69 6e 67 20 6f 6c 64 20 6c 69 62 72 61 72  lding old librar
dfd0: 69 65 73 2e 0a 20 20 20 20 20 20 62 75 69 6c 64  ies..      build
dfe0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f  _libtool_libs=no
dff0: 0a 20 20 20 20 20 20 6f 6c 64 6c 69 62 73 3d 22  .      oldlibs="
e000: 24 6f 75 74 70 75 74 22 0a 20 20 20 20 20 20 6f  $output".      o
e010: 62 6a 73 3d 22 24 6f 62 6a 73 24 6f 6c 64 5f 64  bjs="$objs$old_d
e020: 65 70 6c 69 62 73 22 0a 20 20 20 20 20 20 3b 3b  eplibs".      ;;
e030: 0a 0a 20 20 20 20 6c 69 62 29 0a 20 20 20 20 20  ..    lib).     
e040: 20 23 20 4d 61 6b 65 20 73 75 72 65 20 77 65 20   # Make sure we 
e050: 6f 6e 6c 79 20 67 65 6e 65 72 61 74 65 20 6c 69  only generate li
e060: 62 72 61 72 69 65 73 20 6f 66 20 74 68 65 20 66  braries of the f
e070: 6f 72 6d 20 60 6c 69 62 4e 41 4d 45 2e 6c 61 27  orm `libNAME.la'
e080: 2e 0a 20 20 20 20 20 20 63 61 73 65 20 24 6f 75  ..      case $ou
e090: 74 70 75 74 6e 61 6d 65 20 69 6e 0a 20 20 20 20  tputname in.    
e0a0: 20 20 6c 69 62 2a 29 0a 09 6e 61 6d 65 3d 60 24    lib*)..name=`$
e0b0: 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 6e 61  echo "X$outputna
e0c0: 6d 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  me" | $Xsed -e '
e0d0: 73 2f 5c 2e 6c 61 24 2f 2f 27 20 2d 65 20 27 73  s/\.la$//' -e 's
e0e0: 2f 5e 6c 69 62 2f 2f 27 60 0a 09 65 76 61 6c 20  /^lib//'`..eval 
e0f0: 6c 69 62 6e 61 6d 65 3d 5c 22 24 6c 69 62 6e 61  libname=\"$libna
e100: 6d 65 5f 73 70 65 63 5c 22 0a 09 3b 3b 0a 20 20  me_spec\"..;;.  
e110: 20 20 20 20 2a 29 0a 09 69 66 20 74 65 73 74 20      *)..if test 
e120: 22 24 6d 6f 64 75 6c 65 22 20 3d 20 6e 6f 3b 20  "$module" = no; 
e130: 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24  then..  $echo "$
e140: 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 62 74 6f 6f  modename: libtoo
e150: 6c 20 6c 69 62 72 61 72 79 20 5c 60 24 6f 75 74  l library \`$out
e160: 70 75 74 27 20 6d 75 73 74 20 62 65 67 69 6e 20  put' must begin 
e170: 77 69 74 68 20 5c 60 6c 69 62 27 22 20 31 3e 26  with \`lib'" 1>&
e180: 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c  2..  $echo "$hel
e190: 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  p" 1>&2..  exit 
e1a0: 31 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20 22  1..fi..if test "
e1b0: 24 6e 65 65 64 5f 6c 69 62 5f 70 72 65 66 69 78  $need_lib_prefix
e1c0: 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20  " != no; then.. 
e1d0: 20 23 20 41 64 64 20 74 68 65 20 22 6c 69 62 22   # Add the "lib"
e1e0: 20 70 72 65 66 69 78 20 66 6f 72 20 6d 6f 64 75   prefix for modu
e1f0: 6c 65 73 20 69 66 20 72 65 71 75 69 72 65 64 0a  les if required.
e200: 09 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22  .  name=`$echo "
e210: 58 24 6f 75 74 70 75 74 6e 61 6d 65 22 20 7c 20  X$outputname" | 
e220: 24 58 73 65 64 20 2d 65 20 27 73 2f 5c 2e 6c 61  $Xsed -e 's/\.la
e230: 24 2f 2f 27 60 0a 09 20 20 65 76 61 6c 20 6c 69  $//'`..  eval li
e240: 62 6e 61 6d 65 3d 5c 22 24 6c 69 62 6e 61 6d 65  bname=\"$libname
e250: 5f 73 70 65 63 5c 22 0a 09 65 6c 73 65 0a 09 20  _spec\"..else.. 
e260: 20 6c 69 62 6e 61 6d 65 3d 60 24 65 63 68 6f 20   libname=`$echo 
e270: 22 58 24 6f 75 74 70 75 74 6e 61 6d 65 22 20 7c  "X$outputname" |
e280: 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5c 2e 6c   $Xsed -e 's/\.l
e290: 61 24 2f 2f 27 60 0a 09 66 69 0a 09 3b 3b 0a 20  a$//'`..fi..;;. 
e2a0: 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20       esac..     
e2b0: 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6f 62   if test -n "$ob
e2c0: 6a 73 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  js"; then..if te
e2d0: 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65  st "$deplibs_che
e2e0: 63 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61  ck_method" != pa
e2f0: 73 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20  ss_all; then..  
e300: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
e310: 3a 20 63 61 6e 6e 6f 74 20 62 75 69 6c 64 20 6c  : cannot build l
e320: 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 20 5c  ibtool library \
e330: 60 24 6f 75 74 70 75 74 27 20 66 72 6f 6d 20 6e  `$output' from n
e340: 6f 6e 2d 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63  on-libtool objec
e350: 74 73 20 6f 6e 20 74 68 69 73 20 68 6f 73 74 3a  ts on this host:
e360: 24 6f 62 6a 73 22 20 32 3e 26 31 0a 09 20 20 65  $objs" 2>&1..  e
e370: 78 69 74 20 31 0a 09 65 6c 73 65 0a 09 20 20 65  xit 1..else..  e
e380: 63 68 6f 0a 09 20 20 65 63 68 6f 20 22 2a 2a 2a  cho..  echo "***
e390: 20 57 61 72 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e   Warning: Linkin
e3a0: 67 20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62  g the shared lib
e3b0: 72 61 72 79 20 24 6f 75 74 70 75 74 20 61 67 61  rary $output aga
e3c0: 69 6e 73 74 20 74 68 65 20 6e 6f 6e 2d 6c 69 62  inst the non-lib
e3d0: 74 6f 6f 6c 22 0a 09 20 20 65 63 68 6f 20 22 2a  tool"..  echo "*
e3e0: 2a 2a 20 6f 62 6a 65 63 74 73 20 24 6f 62 6a 73  ** objects $objs
e3f0: 20 69 73 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65   is not portable
e400: 21 22 0a 09 20 20 6c 69 62 6f 62 6a 73 3d 22 24  !"..  libobjs="$
e410: 6c 69 62 6f 62 6a 73 20 24 6f 62 6a 73 22 0a 09  libobjs $objs"..
e420: 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  fi.      fi..   
e430: 20 20 20 69 66 20 74 65 73 74 20 22 24 64 6c 73     if test "$dls
e440: 65 6c 66 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e  elf" != no; then
e450: 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
e460: 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
e470: 64 6c 6f 70 65 6e 20 73 65 6c 66 27 20 69 73 20  dlopen self' is 
e480: 69 67 6e 6f 72 65 64 20 66 6f 72 20 6c 69 62 74  ignored for libt
e490: 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 22 20 31  ool libraries" 1
e4a0: 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  >&2.      fi..  
e4b0: 20 20 20 20 73 65 74 20 64 75 6d 6d 79 20 24 72      set dummy $r
e4c0: 70 61 74 68 0a 20 20 20 20 20 20 69 66 20 74 65  path.      if te
e4d0: 73 74 20 24 23 20 2d 67 74 20 32 3b 20 74 68 65  st $# -gt 2; the
e4e0: 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  n..$echo "$moden
e4f0: 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 69 67  ame: warning: ig
e500: 6e 6f 72 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20  noring multiple 
e510: 5c 60 2d 72 70 61 74 68 27 73 20 66 6f 72 20 61  \`-rpath's for a
e520: 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79   libtool library
e530: 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a  " 1>&2.      fi.
e540: 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f 6c 69        install_li
e550: 62 64 69 72 3d 22 24 32 22 0a 0a 20 20 20 20 20  bdir="$2"..     
e560: 20 6f 6c 64 6c 69 62 73 3d 0a 20 20 20 20 20 20   oldlibs=.      
e570: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72 70 61  if test -z "$rpa
e580: 74 68 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  th"; then..if te
e590: 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
e5a0: 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ol_libs" = yes; 
e5b0: 74 68 65 6e 0a 09 20 20 23 20 42 75 69 6c 64 69  then..  # Buildi
e5c0: 6e 67 20 61 20 6c 69 62 74 6f 6f 6c 20 63 6f 6e  ng a libtool con
e5d0: 76 65 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 79  venience library
e5e0: 2e 0a 09 20 20 6c 69 62 65 78 74 3d 61 6c 0a 09  ...  libext=al..
e5f0: 20 20 6f 6c 64 6c 69 62 73 3d 22 24 6f 75 74 70    oldlibs="$outp
e600: 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61  ut_objdir/$libna
e610: 6d 65 2e 24 6c 69 62 65 78 74 20 24 6f 6c 64 6c  me.$libext $oldl
e620: 69 62 73 22 0a 09 20 20 62 75 69 6c 64 5f 6c 69  ibs"..  build_li
e630: 62 74 6f 6f 6c 5f 6c 69 62 73 3d 63 6f 6e 76 65  btool_libs=conve
e640: 6e 69 65 6e 63 65 0a 09 20 20 62 75 69 6c 64 5f  nience..  build_
e650: 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 66 69  old_libs=yes..fi
e660: 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24  ...if test -n "$
e670: 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a 09 20 20  vinfo"; then..  
e680: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
e690: 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76 65  : warning: \`-ve
e6a0: 72 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73 20 69  rsion-info' is i
e6b0: 67 6e 6f 72 65 64 20 66 6f 72 20 63 6f 6e 76 65  gnored for conve
e6c0: 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 69 65 73  nience libraries
e6d0: 22 20 31 3e 26 32 0a 09 66 69 0a 0a 09 69 66 20  " 1>&2..fi...if 
e6e0: 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73  test -n "$releas
e6f0: 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68  e"; then..  $ech
e700: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
e710: 72 6e 69 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73  rning: \`-releas
e720: 65 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  e' is ignored fo
e730: 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69  r convenience li
e740: 62 72 61 72 69 65 73 22 20 31 3e 26 32 0a 09 66  braries" 1>&2..f
e750: 69 0a 20 20 20 20 20 20 65 6c 73 65 0a 0a 09 23  i.      else...#
e760: 20 50 61 72 73 65 20 74 68 65 20 76 65 72 73 69   Parse the versi
e770: 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61  on information a
e780: 72 67 75 6d 65 6e 74 2e 0a 09 73 61 76 65 5f 69  rgument...save_i
e790: 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
e7a0: 3a 27 0a 09 73 65 74 20 64 75 6d 6d 79 20 24 76  :'..set dummy $v
e7b0: 69 6e 66 6f 20 30 20 30 20 30 0a 09 49 46 53 3d  info 0 0 0..IFS=
e7c0: 22 24 73 61 76 65 5f 69 66 73 22 0a 0a 09 69 66  "$save_ifs"...if
e7d0: 20 74 65 73 74 20 2d 6e 20 22 24 38 22 3b 20 74   test -n "$8"; t
e7e0: 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  hen..  $echo "$m
e7f0: 6f 64 65 6e 61 6d 65 3a 20 74 6f 6f 20 6d 61 6e  odename: too man
e800: 79 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20  y parameters to 
e810: 5c 60 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27  \`-version-info'
e820: 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20  " 1>&2..  $echo 
e830: 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20 20  "$help" 1>&2..  
e840: 65 78 69 74 20 31 0a 09 66 69 0a 0a 09 63 75 72  exit 1..fi...cur
e850: 72 65 6e 74 3d 22 24 32 22 0a 09 72 65 76 69 73  rent="$2"..revis
e860: 69 6f 6e 3d 22 24 33 22 0a 09 61 67 65 3d 22 24  ion="$3"..age="$
e870: 34 22 0a 0a 09 23 20 43 68 65 63 6b 20 74 68 61  4"...# Check tha
e880: 74 20 65 61 63 68 20 6f 66 20 74 68 65 20 74 68  t each of the th
e890: 69 6e 67 73 20 61 72 65 20 76 61 6c 69 64 20 6e  ings are valid n
e8a0: 75 6d 62 65 72 73 2e 0a 09 63 61 73 65 20 24 63  umbers...case $c
e8b0: 75 72 72 65 6e 74 20 69 6e 0a 09 30 20 7c 20 5b  urrent in..0 | [
e8c0: 31 2d 39 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39  1-9] | [1-9][0-9
e8d0: 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30  ] | [1-9][0-9][0
e8e0: 2d 39 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24  -9]) ;;..*)..  $
e8f0: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
e900: 20 43 55 52 52 45 4e 54 20 5c 60 24 63 75 72 72   CURRENT \`$curr
e910: 65 6e 74 27 20 69 73 20 6e 6f 74 20 61 20 6e 6f  ent' is not a no
e920: 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65  nnegative intege
e930: 72 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f  r" 1>&2..  $echo
e940: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24   "$modename: \`$
e950: 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76 61  vinfo' is not va
e960: 6c 69 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  lid version info
e970: 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20  rmation" 1>&2.. 
e980: 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65   exit 1..  ;;..e
e990: 73 61 63 0a 0a 09 63 61 73 65 20 24 72 65 76 69  sac...case $revi
e9a0: 73 69 6f 6e 20 69 6e 0a 09 30 20 7c 20 5b 31 2d  sion in..0 | [1-
e9b0: 39 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 20  9] | [1-9][0-9] 
e9c0: 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39  | [1-9][0-9][0-9
e9d0: 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63  ]) ;;..*)..  $ec
e9e0: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 52  ho "$modename: R
e9f0: 45 56 49 53 49 4f 4e 20 5c 60 24 72 65 76 69 73  EVISION \`$revis
ea00: 69 6f 6e 27 20 69 73 20 6e 6f 74 20 61 20 6e 6f  ion' is not a no
ea10: 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65  nnegative intege
ea20: 72 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f  r" 1>&2..  $echo
ea30: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24   "$modename: \`$
ea40: 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76 61  vinfo' is not va
ea50: 6c 69 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  lid version info
ea60: 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20  rmation" 1>&2.. 
ea70: 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65   exit 1..  ;;..e
ea80: 73 61 63 0a 0a 09 63 61 73 65 20 24 61 67 65 20  sac...case $age 
ea90: 69 6e 0a 09 30 20 7c 20 5b 31 2d 39 5d 20 7c 20  in..0 | [1-9] | 
eaa0: 5b 31 2d 39 5d 5b 30 2d 39 5d 20 7c 20 5b 31 2d  [1-9][0-9] | [1-
eab0: 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 29 20 3b 3b  9][0-9][0-9]) ;;
eac0: 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f 20 22 24  ..*)..  $echo "$
ead0: 6d 6f 64 65 6e 61 6d 65 3a 20 41 47 45 20 5c 60  modename: AGE \`
eae0: 24 61 67 65 27 20 69 73 20 6e 6f 74 20 61 20 6e  $age' is not a n
eaf0: 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67  onnegative integ
eb00: 65 72 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68  er" 1>&2..  $ech
eb10: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60  o "$modename: \`
eb20: 24 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76  $vinfo' is not v
eb30: 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 69 6e 66  alid version inf
eb40: 6f 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09  ormation" 1>&2..
eb50: 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09    exit 1..  ;;..
eb60: 65 73 61 63 0a 0a 09 69 66 20 74 65 73 74 20 24  esac...if test $
eb70: 61 67 65 20 2d 67 74 20 24 63 75 72 72 65 6e 74  age -gt $current
eb80: 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20  ; then..  $echo 
eb90: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 41 47 45 20  "$modename: AGE 
eba0: 5c 60 24 61 67 65 27 20 69 73 20 67 72 65 61 74  \`$age' is great
ebb0: 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72  er than the curr
ebc0: 65 6e 74 20 69 6e 74 65 72 66 61 63 65 20 6e 75  ent interface nu
ebd0: 6d 62 65 72 20 5c 60 24 63 75 72 72 65 6e 74 27  mber \`$current'
ebe0: 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20  " 1>&2..  $echo 
ebf0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 76  "$modename: \`$v
ec00: 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20 76 61 6c  info' is not val
ec10: 69 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72  id version infor
ec20: 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a 09 20 20  mation" 1>&2..  
ec30: 65 78 69 74 20 31 0a 09 66 69 0a 0a 09 23 20 43  exit 1..fi...# C
ec40: 61 6c 63 75 6c 61 74 65 20 74 68 65 20 76 65 72  alculate the ver
ec50: 73 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 2e 0a  sion variables..
ec60: 09 6d 61 6a 6f 72 3d 0a 09 76 65 72 73 75 66 66  .major=..versuff
ec70: 69 78 3d 0a 09 76 65 72 73 74 72 69 6e 67 3d 0a  ix=..verstring=.
ec80: 09 63 61 73 65 20 24 76 65 72 73 69 6f 6e 5f 74  .case $version_t
ec90: 79 70 65 20 69 6e 0a 09 6e 6f 6e 65 29 20 3b 3b  ype in..none) ;;
eca0: 0a 0a 09 64 61 72 77 69 6e 29 0a 09 20 20 23 20  ...darwin)..  # 
ecb0: 4c 69 6b 65 20 4c 69 6e 75 78 2c 20 62 75 74 20  Like Linux, but 
ecc0: 77 69 74 68 20 74 68 65 20 63 75 72 72 65 6e 74  with the current
ecd0: 20 76 65 72 73 69 6f 6e 20 61 76 61 69 6c 61 62   version availab
ece0: 6c 65 20 69 6e 0a 09 20 20 23 20 76 65 72 73 74  le in..  # verst
ecf0: 72 69 6e 67 20 66 6f 72 20 63 6f 64 69 6e 67 20  ring for coding 
ed00: 69 74 20 69 6e 74 6f 20 74 68 65 20 6c 69 62 72  it into the libr
ed10: 61 72 79 20 68 65 61 64 65 72 0a 09 20 20 6d 61  ary header..  ma
ed20: 6a 6f 72 3d 2e 60 65 78 70 72 20 24 63 75 72 72  jor=.`expr $curr
ed30: 65 6e 74 20 2d 20 24 61 67 65 60 0a 09 20 20 76  ent - $age`..  v
ed40: 65 72 73 75 66 66 69 78 3d 22 24 6d 61 6a 6f 72  ersuffix="$major
ed50: 2e 24 61 67 65 2e 24 72 65 76 69 73 69 6f 6e 22  .$age.$revision"
ed60: 0a 09 20 20 23 20 44 61 72 77 69 6e 20 6c 64 20  ..  # Darwin ld 
ed70: 64 6f 65 73 6e 27 74 20 6c 69 6b 65 20 30 20 66  doesn't like 0 f
ed80: 6f 72 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73  or these options
ed90: 2e 2e 2e 0a 09 20 20 6d 69 6e 6f 72 5f 63 75 72  .....  minor_cur
eda0: 72 65 6e 74 3d 60 65 78 70 72 20 24 63 75 72 72  rent=`expr $curr
edb0: 65 6e 74 20 2b 20 31 60 0a 09 20 20 76 65 72 73  ent + 1`..  vers
edc0: 74 72 69 6e 67 3d 22 2d 63 6f 6d 70 61 74 69 62  tring="-compatib
edd0: 69 6c 69 74 79 5f 76 65 72 73 69 6f 6e 20 24 6d  ility_version $m
ede0: 69 6e 6f 72 5f 63 75 72 72 65 6e 74 20 2d 63 75  inor_current -cu
edf0: 72 72 65 6e 74 5f 76 65 72 73 69 6f 6e 20 24 6d  rrent_version $m
ee00: 69 6e 6f 72 5f 63 75 72 72 65 6e 74 2e 24 72 65  inor_current.$re
ee10: 76 69 73 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09  vision"..  ;;...
ee20: 66 72 65 65 62 73 64 2d 61 6f 75 74 29 0a 09 20  freebsd-aout).. 
ee30: 20 6d 61 6a 6f 72 3d 22 2e 24 63 75 72 72 65 6e   major=".$curren
ee40: 74 22 0a 09 20 20 76 65 72 73 75 66 66 69 78 3d  t"..  versuffix=
ee50: 22 2e 24 63 75 72 72 65 6e 74 2e 24 72 65 76 69  ".$current.$revi
ee60: 73 69 6f 6e 22 3b 0a 09 20 20 3b 3b 0a 0a 09 66  sion";..  ;;...f
ee70: 72 65 65 62 73 64 2d 65 6c 66 29 0a 09 20 20 6d  reebsd-elf)..  m
ee80: 61 6a 6f 72 3d 22 2e 24 63 75 72 72 65 6e 74 22  ajor=".$current"
ee90: 0a 09 20 20 76 65 72 73 75 66 66 69 78 3d 22 2e  ..  versuffix=".
eea0: 24 63 75 72 72 65 6e 74 22 3b 0a 09 20 20 3b 3b  $current";..  ;;
eeb0: 0a 0a 09 69 72 69 78 20 7c 20 6e 6f 6e 73 74 6f  ...irix | nonsto
eec0: 70 75 78 29 0a 09 20 20 6d 61 6a 6f 72 3d 60 65  pux)..  major=`e
eed0: 78 70 72 20 24 63 75 72 72 65 6e 74 20 2d 20 24  xpr $current - $
eee0: 61 67 65 20 2b 20 31 60 0a 0a 09 20 20 63 61 73  age + 1`...  cas
eef0: 65 20 24 76 65 72 73 69 6f 6e 5f 74 79 70 65 20  e $version_type 
ef00: 69 6e 0a 09 20 20 20 20 6e 6f 6e 73 74 6f 70 75  in..    nonstopu
ef10: 78 29 20 76 65 72 73 74 72 69 6e 67 5f 70 72 65  x) verstring_pre
ef20: 66 69 78 3d 6e 6f 6e 73 74 6f 70 75 78 20 3b 3b  fix=nonstopux ;;
ef30: 0a 09 20 20 20 20 2a 29 20 20 20 20 20 20 20 20  ..    *)        
ef40: 20 76 65 72 73 74 72 69 6e 67 5f 70 72 65 66 69   verstring_prefi
ef50: 78 3d 73 67 69 20 3b 3b 0a 09 20 20 65 73 61 63  x=sgi ;;..  esac
ef60: 0a 09 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24  ..  verstring="$
ef70: 76 65 72 73 74 72 69 6e 67 5f 70 72 65 66 69 78  verstring_prefix
ef80: 24 6d 61 6a 6f 72 2e 24 72 65 76 69 73 69 6f 6e  $major.$revision
ef90: 22 0a 0a 09 20 20 23 20 41 64 64 20 69 6e 20 61  "...  # Add in a
efa0: 6c 6c 20 74 68 65 20 69 6e 74 65 72 66 61 63 65  ll the interface
efb0: 73 20 74 68 61 74 20 77 65 20 61 72 65 20 63 6f  s that we are co
efc0: 6d 70 61 74 69 62 6c 65 20 77 69 74 68 2e 0a 09  mpatible with...
efd0: 20 20 6c 6f 6f 70 3d 24 72 65 76 69 73 69 6f 6e    loop=$revision
efe0: 0a 09 20 20 77 68 69 6c 65 20 74 65 73 74 20 24  ..  while test $
eff0: 6c 6f 6f 70 20 21 3d 20 30 3b 20 64 6f 0a 09 20  loop != 0; do.. 
f000: 20 20 20 69 66 61 63 65 3d 60 65 78 70 72 20 24     iface=`expr $
f010: 72 65 76 69 73 69 6f 6e 20 2d 20 24 6c 6f 6f 70  revision - $loop
f020: 60 0a 09 20 20 20 20 6c 6f 6f 70 3d 60 65 78 70  `..    loop=`exp
f030: 72 20 24 6c 6f 6f 70 20 2d 20 31 60 0a 09 20 20  r $loop - 1`..  
f040: 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76 65    verstring="$ve
f050: 72 73 74 72 69 6e 67 5f 70 72 65 66 69 78 24 6d  rstring_prefix$m
f060: 61 6a 6f 72 2e 24 69 66 61 63 65 3a 24 76 65 72  ajor.$iface:$ver
f070: 73 74 72 69 6e 67 22 0a 09 20 20 64 6f 6e 65 0a  string"..  done.
f080: 0a 09 20 20 23 20 42 65 66 6f 72 65 20 74 68 69  ..  # Before thi
f090: 73 20 70 6f 69 6e 74 2c 20 24 6d 61 6a 6f 72 20  s point, $major 
f0a0: 6d 75 73 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e  must not contain
f0b0: 20 60 2e 27 2e 0a 09 20 20 6d 61 6a 6f 72 3d 2e   `.'...  major=.
f0c0: 24 6d 61 6a 6f 72 0a 09 20 20 76 65 72 73 75 66  $major..  versuf
f0d0: 66 69 78 3d 22 24 6d 61 6a 6f 72 2e 24 72 65 76  fix="$major.$rev
f0e0: 69 73 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09 6c  ision"..  ;;...l
f0f0: 69 6e 75 78 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e  inux)..  major=.
f100: 60 65 78 70 72 20 24 63 75 72 72 65 6e 74 20 2d  `expr $current -
f110: 20 24 61 67 65 60 0a 09 20 20 76 65 72 73 75 66   $age`..  versuf
f120: 66 69 78 3d 22 24 6d 61 6a 6f 72 2e 24 61 67 65  fix="$major.$age
f130: 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09 20 20 3b  .$revision"..  ;
f140: 3b 0a 0a 09 6f 73 66 29 0a 09 20 20 6d 61 6a 6f  ;...osf)..  majo
f150: 72 3d 2e 60 65 78 70 72 20 24 63 75 72 72 65 6e  r=.`expr $curren
f160: 74 20 2d 20 24 61 67 65 60 0a 09 20 20 76 65 72  t - $age`..  ver
f170: 73 75 66 66 69 78 3d 22 2e 24 63 75 72 72 65 6e  suffix=".$curren
f180: 74 2e 24 61 67 65 2e 24 72 65 76 69 73 69 6f 6e  t.$age.$revision
f190: 22 0a 09 20 20 76 65 72 73 74 72 69 6e 67 3d 22  "..  verstring="
f1a0: 24 63 75 72 72 65 6e 74 2e 24 61 67 65 2e 24 72  $current.$age.$r
f1b0: 65 76 69 73 69 6f 6e 22 0a 0a 09 20 20 23 20 41  evision"...  # A
f1c0: 64 64 20 69 6e 20 61 6c 6c 20 74 68 65 20 69 6e  dd in all the in
f1d0: 74 65 72 66 61 63 65 73 20 74 68 61 74 20 77 65  terfaces that we
f1e0: 20 61 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 20   are compatible 
f1f0: 77 69 74 68 2e 0a 09 20 20 6c 6f 6f 70 3d 24 61  with...  loop=$a
f200: 67 65 0a 09 20 20 77 68 69 6c 65 20 74 65 73 74  ge..  while test
f210: 20 24 6c 6f 6f 70 20 21 3d 20 30 3b 20 64 6f 0a   $loop != 0; do.
f220: 09 20 20 20 20 69 66 61 63 65 3d 60 65 78 70 72  .    iface=`expr
f230: 20 24 63 75 72 72 65 6e 74 20 2d 20 24 6c 6f 6f   $current - $loo
f240: 70 60 0a 09 20 20 20 20 6c 6f 6f 70 3d 60 65 78  p`..    loop=`ex
f250: 70 72 20 24 6c 6f 6f 70 20 2d 20 31 60 0a 09 20  pr $loop - 1`.. 
f260: 20 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76     verstring="$v
f270: 65 72 73 74 72 69 6e 67 3a 24 7b 69 66 61 63 65  erstring:${iface
f280: 7d 2e 30 22 0a 09 20 20 64 6f 6e 65 0a 0a 09 20  }.0"..  done... 
f290: 20 23 20 4d 61 6b 65 20 65 78 65 63 75 74 61 62   # Make executab
f2a0: 6c 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 6f 75  les depend on ou
f2b0: 72 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f  r current versio
f2c0: 6e 2e 0a 09 20 20 76 65 72 73 74 72 69 6e 67 3d  n...  verstring=
f2d0: 22 24 76 65 72 73 74 72 69 6e 67 3a 24 7b 63 75  "$verstring:${cu
f2e0: 72 72 65 6e 74 7d 2e 30 22 0a 09 20 20 3b 3b 0a  rrent}.0"..  ;;.
f2f0: 0a 09 73 75 6e 6f 73 29 0a 09 20 20 6d 61 6a 6f  ..sunos)..  majo
f300: 72 3d 22 2e 24 63 75 72 72 65 6e 74 22 0a 09 20  r=".$current".. 
f310: 20 76 65 72 73 75 66 66 69 78 3d 22 2e 24 63 75   versuffix=".$cu
f320: 72 72 65 6e 74 2e 24 72 65 76 69 73 69 6f 6e 22  rrent.$revision"
f330: 0a 09 20 20 3b 3b 0a 0a 09 77 69 6e 64 6f 77 73  ..  ;;...windows
f340: 29 0a 09 20 20 23 20 55 73 65 20 27 2d 27 20 72  )..  # Use '-' r
f350: 61 74 68 65 72 20 74 68 61 6e 20 27 2e 27 2c 20  ather than '.', 
f360: 73 69 6e 63 65 20 77 65 20 6f 6e 6c 79 20 77 61  since we only wa
f370: 6e 74 20 6f 6e 65 0a 09 20 20 23 20 65 78 74 65  nt one..  # exte
f380: 6e 73 69 6f 6e 20 6f 6e 20 44 4f 53 20 38 2e 33  nsion on DOS 8.3
f390: 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a 09 20   filesystems... 
f3a0: 20 6d 61 6a 6f 72 3d 60 65 78 70 72 20 24 63 75   major=`expr $cu
f3b0: 72 72 65 6e 74 20 2d 20 24 61 67 65 60 0a 09 20  rrent - $age`.. 
f3c0: 20 76 65 72 73 75 66 66 69 78 3d 22 2d 24 6d 61   versuffix="-$ma
f3d0: 6a 6f 72 22 0a 09 20 20 3b 3b 0a 0a 09 2a 29 0a  jor"..  ;;...*).
f3e0: 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
f3f0: 61 6d 65 3a 20 75 6e 6b 6e 6f 77 6e 20 6c 69 62  ame: unknown lib
f400: 72 61 72 79 20 76 65 72 73 69 6f 6e 20 74 79 70  rary version typ
f410: 65 20 5c 60 24 76 65 72 73 69 6f 6e 5f 74 79 70  e \`$version_typ
f420: 65 27 22 20 31 3e 26 32 0a 09 20 20 65 63 68 6f  e'" 1>&2..  echo
f430: 20 22 46 61 74 61 6c 20 63 6f 6e 66 69 67 75 72   "Fatal configur
f440: 61 74 69 6f 6e 20 65 72 72 6f 72 2e 20 20 53 65  ation error.  Se
f450: 65 20 74 68 65 20 24 50 41 43 4b 41 47 45 20 64  e the $PACKAGE d
f460: 6f 63 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66  ocs for more inf
f470: 6f 72 6d 61 74 69 6f 6e 2e 22 20 31 3e 26 32 0a  ormation." 1>&2.
f480: 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a  .  exit 1..  ;;.
f490: 09 65 73 61 63 0a 0a 09 23 20 43 6c 65 61 72 20  .esac...# Clear 
f4a0: 74 68 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  the version info
f4b0: 20 69 66 20 77 65 20 64 65 66 61 75 6c 74 65 64   if we defaulted
f4c0: 2c 20 61 6e 64 20 74 68 65 79 20 73 70 65 63 69  , and they speci
f4d0: 66 69 65 64 20 61 20 72 65 6c 65 61 73 65 2e 0a  fied a release..
f4e0: 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 76 69  .if test -z "$vi
f4f0: 6e 66 6f 22 20 26 26 20 74 65 73 74 20 2d 6e 20  nfo" && test -n 
f500: 22 24 72 65 6c 65 61 73 65 22 3b 20 74 68 65 6e  "$release"; then
f510: 0a 09 20 20 6d 61 6a 6f 72 3d 0a 09 20 20 76 65  ..  major=..  ve
f520: 72 73 74 72 69 6e 67 3d 22 30 2e 30 22 0a 09 20  rstring="0.0".. 
f530: 20 63 61 73 65 20 24 76 65 72 73 69 6f 6e 5f 74   case $version_t
f540: 79 70 65 20 69 6e 0a 09 20 20 64 61 72 77 69 6e  ype in..  darwin
f550: 29 0a 09 20 20 20 20 23 20 77 65 20 63 61 6e 27  )..    # we can'
f560: 74 20 63 68 65 63 6b 20 66 6f 72 20 22 30 2e 30  t check for "0.0
f570: 22 20 69 6e 20 61 72 63 68 69 76 65 5f 63 6d 64  " in archive_cmd
f580: 73 20 64 75 65 20 74 6f 20 71 75 6f 74 69 6e 67  s due to quoting
f590: 0a 09 20 20 20 20 23 20 70 72 6f 62 6c 65 6d 73  ..    # problems
f5a0: 2c 20 73 6f 20 77 65 20 72 65 73 65 74 20 69 74  , so we reset it
f5b0: 20 63 6f 6d 70 6c 65 74 65 6c 79 0a 09 20 20 20   completely..   
f5c0: 20 76 65 72 73 74 72 69 6e 67 3d 22 22 0a 09 20   verstring="".. 
f5d0: 20 20 20 3b 3b 0a 09 20 20 2a 29 0a 09 20 20 20     ;;..  *)..   
f5e0: 20 76 65 72 73 74 72 69 6e 67 3d 22 30 2e 30 22   verstring="0.0"
f5f0: 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63  ..    ;;..  esac
f600: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 6e 65  ..  if test "$ne
f610: 65 64 5f 76 65 72 73 69 6f 6e 22 20 3d 20 6e 6f  ed_version" = no
f620: 3b 20 74 68 65 6e 0a 09 20 20 20 20 76 65 72 73  ; then..    vers
f630: 75 66 66 69 78 3d 0a 09 20 20 65 6c 73 65 0a 09  uffix=..  else..
f640: 20 20 20 20 76 65 72 73 75 66 66 69 78 3d 22 2e      versuffix=".
f650: 30 2e 30 22 0a 09 20 20 66 69 0a 09 66 69 0a 0a  0.0"..  fi..fi..
f660: 09 23 20 52 65 6d 6f 76 65 20 76 65 72 73 69 6f  .# Remove versio
f670: 6e 20 69 6e 66 6f 20 66 72 6f 6d 20 6e 61 6d 65  n info from name
f680: 20 69 66 20 76 65 72 73 69 6f 6e 69 6e 67 20 73   if versioning s
f690: 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64  hould be avoided
f6a0: 0a 09 69 66 20 74 65 73 74 20 22 24 61 76 6f 69  ..if test "$avoi
f6b0: 64 5f 76 65 72 73 69 6f 6e 22 20 3d 20 79 65 73  d_version" = yes
f6c0: 20 26 26 20 74 65 73 74 20 22 24 6e 65 65 64 5f   && test "$need_
f6d0: 76 65 72 73 69 6f 6e 22 20 3d 20 6e 6f 3b 20 74  version" = no; t
f6e0: 68 65 6e 0a 09 20 20 6d 61 6a 6f 72 3d 0a 09 20  hen..  major=.. 
f6f0: 20 76 65 72 73 75 66 66 69 78 3d 0a 09 20 20 76   versuffix=..  v
f700: 65 72 73 74 72 69 6e 67 3d 22 22 0a 09 66 69 0a  erstring=""..fi.
f710: 0a 09 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65  ..# Check to see
f720: 20 69 66 20 74 68 65 20 61 72 63 68 69 76 65 20   if the archive 
f730: 77 69 6c 6c 20 68 61 76 65 20 75 6e 64 65 66 69  will have undefi
f740: 6e 65 64 20 73 79 6d 62 6f 6c 73 2e 0a 09 69 66  ned symbols...if
f750: 20 74 65 73 74 20 22 24 61 6c 6c 6f 77 5f 75 6e   test "$allow_un
f760: 64 65 66 69 6e 65 64 22 20 3d 20 79 65 73 3b 20  defined" = yes; 
f770: 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20  then..  if test 
f780: 22 24 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65  "$allow_undefine
f790: 64 5f 66 6c 61 67 22 20 3d 20 75 6e 73 75 70 70  d_flag" = unsupp
f7a0: 6f 72 74 65 64 3b 20 74 68 65 6e 0a 09 20 20 20  orted; then..   
f7b0: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
f7c0: 65 3a 20 77 61 72 6e 69 6e 67 3a 20 75 6e 64 65  e: warning: unde
f7d0: 66 69 6e 65 64 20 73 79 6d 62 6f 6c 73 20 6e 6f  fined symbols no
f7e0: 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 24 68 6f  t allowed in $ho
f7f0: 73 74 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  st shared librar
f800: 69 65 73 22 20 31 3e 26 32 0a 09 20 20 20 20 62  ies" 1>&2..    b
f810: 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
f820: 73 3d 6e 6f 0a 09 20 20 20 20 62 75 69 6c 64 5f  s=no..    build_
f830: 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20  old_libs=yes..  
f840: 66 69 0a 09 65 6c 73 65 0a 09 20 20 23 20 44 6f  fi..else..  # Do
f850: 6e 27 74 20 61 6c 6c 6f 77 20 75 6e 64 65 66 69  n't allow undefi
f860: 6e 65 64 20 73 79 6d 62 6f 6c 73 2e 0a 09 20 20  ned symbols...  
f870: 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 5f  allow_undefined_
f880: 66 6c 61 67 3d 22 24 6e 6f 5f 75 6e 64 65 66 69  flag="$no_undefi
f890: 6e 65 64 5f 66 6c 61 67 22 0a 09 66 69 0a 20 20  ned_flag"..fi.  
f8a0: 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
f8b0: 20 74 65 73 74 20 22 24 6d 6f 64 65 22 20 21 3d   test "$mode" !=
f8c0: 20 72 65 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 23   relink; then..#
f8d0: 20 52 65 6d 6f 76 65 20 6f 75 72 20 6f 75 74 70   Remove our outp
f8e0: 75 74 73 2e 0a 09 24 73 68 6f 77 20 22 24 7b 72  uts...$show "${r
f8f0: 6d 7d 72 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  m}r $output_objd
f900: 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 20 24  ir/$outputname $
f910: 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c  output_objdir/$l
f920: 69 62 6e 61 6d 65 2e 2a 20 24 6f 75 74 70 75 74  ibname.* $output
f930: 5f 6f 62 6a 64 69 72 2f 24 7b 6c 69 62 6e 61 6d  _objdir/${libnam
f940: 65 7d 24 7b 72 65 6c 65 61 73 65 7d 2e 2a 22 0a  e}${release}.*".
f950: 09 24 72 75 6e 20 24 7b 72 6d 7d 72 20 24 6f 75  .$run ${rm}r $ou
f960: 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74  tput_objdir/$out
f970: 70 75 74 6e 61 6d 65 20 24 6f 75 74 70 75 74 5f  putname $output_
f980: 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e  objdir/$libname.
f990: 2a 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  * $output_objdir
f9a0: 2f 24 7b 6c 69 62 6e 61 6d 65 7d 24 7b 72 65 6c  /${libname}${rel
f9b0: 65 61 73 65 7d 2e 2a 0a 20 20 20 20 20 20 66 69  ease}.*.      fi
f9c0: 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 73 65  ..      # Now se
f9d0: 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20  t the variables 
f9e0: 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 6f 6c 64  for building old
f9f0: 20 6c 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20   libraries..    
fa00: 20 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c    if test "$buil
fa10: 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65  d_old_libs" = ye
fa20: 73 20 26 26 20 74 65 73 74 20 22 24 62 75 69 6c  s && test "$buil
fa30: 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20  d_libtool_libs" 
fa40: 21 3d 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 3b  != convenience ;
fa50: 20 74 68 65 6e 0a 09 6f 6c 64 6c 69 62 73 3d 22   then..oldlibs="
fa60: 24 6f 6c 64 6c 69 62 73 20 24 6f 75 74 70 75 74  $oldlibs $output
fa70: 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65  _objdir/$libname
fa80: 2e 24 6c 69 62 65 78 74 22 0a 0a 09 23 20 54 72  .$libext"...# Tr
fa90: 61 6e 73 66 6f 72 6d 20 2e 6c 6f 20 66 69 6c 65  ansform .lo file
faa0: 73 20 74 6f 20 2e 6f 20 66 69 6c 65 73 2e 0a 09  s to .o files...
fab0: 6f 6c 64 6f 62 6a 73 3d 22 24 6f 62 6a 73 20 22  oldobjs="$objs "
fac0: 60 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a  `$echo "X$libobj
fad0: 73 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58  s" | $SP2NL | $X
fae0: 73 65 64 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c 69  sed -e '/\.'${li
faf0: 62 65 78 74 7d 27 24 2f 64 27 20 2d 65 20 22 24  bext}'$/d' -e "$
fb00: 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a  lo2o" | $NL2SP`.
fb10: 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
fb20: 23 20 45 6c 69 6d 69 6e 61 74 65 20 61 6c 6c 20  # Eliminate all 
fb30: 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74  temporary direct
fb40: 6f 72 69 65 73 2e 0a 20 20 20 20 20 20 66 6f 72  ories..      for
fb50: 20 70 61 74 68 20 69 6e 20 24 6e 6f 74 69 6e 73   path in $notins
fb60: 74 5f 70 61 74 68 3b 20 64 6f 0a 09 6c 69 62 5f  t_path; do..lib_
fb70: 73 65 61 72 63 68 5f 70 61 74 68 3d 60 65 63 68  search_path=`ech
fb80: 6f 20 22 24 6c 69 62 5f 73 65 61 72 63 68 5f 70  o "$lib_search_p
fb90: 61 74 68 20 22 20 7c 20 24 7b 53 45 44 7d 20 2d  ath " | ${SED} -
fba0: 65 20 27 73 25 20 24 70 61 74 68 20 25 20 25 67  e 's% $path % %g
fbb0: 27 60 0a 09 64 65 70 6c 69 62 73 3d 60 65 63 68  '`..deplibs=`ech
fbc0: 6f 20 22 24 64 65 70 6c 69 62 73 20 22 20 7c 20  o "$deplibs " | 
fbd0: 24 7b 53 45 44 7d 20 2d 65 20 27 73 25 20 2d 4c  ${SED} -e 's% -L
fbe0: 24 70 61 74 68 20 25 20 25 67 27 60 0a 09 64 65  $path % %g'`..de
fbf0: 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 60 65  pendency_libs=`e
fc00: 63 68 6f 20 22 24 64 65 70 65 6e 64 65 6e 63 79  cho "$dependency
fc10: 5f 6c 69 62 73 20 22 20 7c 20 24 7b 53 45 44 7d  _libs " | ${SED}
fc20: 20 2d 65 20 27 73 25 20 2d 4c 24 70 61 74 68 20   -e 's% -L$path 
fc30: 25 20 25 67 27 60 0a 20 20 20 20 20 20 64 6f 6e  % %g'`.      don
fc40: 65 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  e..      if test
fc50: 20 2d 6e 20 22 24 78 72 70 61 74 68 22 3b 20 74   -n "$xrpath"; t
fc60: 68 65 6e 0a 09 23 20 49 66 20 74 68 65 20 75 73  hen..# If the us
fc70: 65 72 20 73 70 65 63 69 66 69 65 64 20 61 6e 79  er specified any
fc80: 20 72 70 61 74 68 20 66 6c 61 67 73 2c 20 74 68   rpath flags, th
fc90: 65 6e 20 61 64 64 20 74 68 65 6d 2e 0a 09 74 65  en add them...te
fca0: 6d 70 5f 78 72 70 61 74 68 3d 0a 09 66 6f 72 20  mp_xrpath=..for 
fcb0: 6c 69 62 64 69 72 20 69 6e 20 24 78 72 70 61 74  libdir in $xrpat
fcc0: 68 3b 20 64 6f 0a 09 20 20 74 65 6d 70 5f 78 72  h; do..  temp_xr
fcd0: 70 61 74 68 3d 22 24 74 65 6d 70 5f 78 72 70 61  path="$temp_xrpa
fce0: 74 68 20 2d 52 24 6c 69 62 64 69 72 22 0a 09 20  th -R$libdir".. 
fcf0: 20 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a 65   case "$finalize
fd00: 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 2a  _rpath " in..  *
fd10: 22 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b  " $libdir "*) ;;
fd20: 0a 09 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f  ..  *) finalize_
fd30: 72 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65  rpath="$finalize
fd40: 5f 72 70 61 74 68 20 24 6c 69 62 64 69 72 22 20  _rpath $libdir" 
fd50: 3b 3b 0a 09 20 20 65 73 61 63 0a 09 64 6f 6e 65  ;;..  esac..done
fd60: 0a 09 69 66 20 74 65 73 74 20 24 68 61 72 64 63  ..if test $hardc
fd70: 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 20 21 3d  ode_into_libs !=
fd80: 20 79 65 73 20 7c 7c 20 74 65 73 74 20 24 62 75   yes || test $bu
fd90: 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 20 3d 20 79  ild_old_libs = y
fda0: 65 73 3b 20 74 68 65 6e 0a 09 20 20 64 65 70 65  es; then..  depe
fdb0: 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 74 65  ndency_libs="$te
fdc0: 6d 70 5f 78 72 70 61 74 68 20 24 64 65 70 65 6e  mp_xrpath $depen
fdd0: 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 66 69 0a  dency_libs"..fi.
fde0: 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
fdf0: 23 20 4d 61 6b 65 20 73 75 72 65 20 64 6c 66 69  # Make sure dlfi
fe00: 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c  les contains onl
fe10: 79 20 75 6e 69 71 75 65 20 66 69 6c 65 73 20 74  y unique files t
fe20: 68 61 74 20 77 6f 6e 27 74 20 62 65 20 64 6c 70  hat won't be dlp
fe30: 72 65 6f 70 65 6e 65 64 0a 20 20 20 20 20 20 6f  reopened.      o
fe40: 6c 64 5f 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66  ld_dlfiles="$dlf
fe50: 69 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 66 69  iles".      dlfi
fe60: 6c 65 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c  les=.      for l
fe70: 69 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 66 69 6c  ib in $old_dlfil
fe80: 65 73 3b 20 64 6f 0a 09 63 61 73 65 20 22 20 24  es; do..case " $
fe90: 64 6c 70 72 65 66 69 6c 65 73 20 24 64 6c 66 69  dlprefiles $dlfi
fea0: 6c 65 73 20 22 20 69 6e 0a 09 2a 22 20 24 6c 69  les " in..*" $li
feb0: 62 20 22 2a 29 20 3b 3b 0a 09 2a 29 20 64 6c 66  b "*) ;;..*) dlf
fec0: 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73 20 24  iles="$dlfiles $
fed0: 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20  lib" ;;..esac.  
fee0: 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20      done..      
fef0: 23 20 4d 61 6b 65 20 73 75 72 65 20 64 6c 70 72  # Make sure dlpr
ff00: 65 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20  efiles contains 
ff10: 6f 6e 6c 79 20 75 6e 69 71 75 65 20 66 69 6c 65  only unique file
ff20: 73 0a 20 20 20 20 20 20 6f 6c 64 5f 64 6c 70 72  s.      old_dlpr
ff30: 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69  efiles="$dlprefi
ff40: 6c 65 73 22 0a 20 20 20 20 20 20 64 6c 70 72 65  les".      dlpre
ff50: 66 69 6c 65 73 3d 0a 20 20 20 20 20 20 66 6f 72  files=.      for
ff60: 20 6c 69 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 70   lib in $old_dlp
ff70: 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 63 61 73  refiles; do..cas
ff80: 65 20 22 24 64 6c 70 72 65 66 69 6c 65 73 20 22  e "$dlprefiles "
ff90: 20 69 6e 0a 09 2a 22 20 24 6c 69 62 20 22 2a 29   in..*" $lib "*)
ffa0: 20 3b 3b 0a 09 2a 29 20 64 6c 70 72 65 66 69 6c   ;;..*) dlprefil
ffb0: 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73 20  es="$dlprefiles 
ffc0: 24 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20  $lib" ;;..esac. 
ffd0: 20 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20       done..     
ffe0: 20 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64   if test "$build
fff0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
10000 20 79 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74   yes; then..if t
10010 65 73 74 20 2d 6e 20 22 24 72 70 61 74 68 22 3b  est -n "$rpath";
10020 20 74 68 65 6e 0a 09 20 20 63 61 73 65 20 24 68   then..  case $h
10030 6f 73 74 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79  ost in..  *-*-cy
10040 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67  gwin* | *-*-ming
10050 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c  w* | *-*-pw32* |
10060 20 2a 2d 2a 2d 6f 73 32 2a 20 7c 20 2a 2d 2a 2d   *-*-os2* | *-*-
10070 62 65 6f 73 2a 29 0a 09 20 20 20 20 23 20 74 68  beos*)..    # th
10080 65 73 65 20 73 79 73 74 65 6d 73 20 64 6f 6e 27  ese systems don'
10090 74 20 61 63 74 75 61 6c 6c 79 20 68 61 76 65 20  t actually have 
100a0 61 20 63 20 6c 69 62 72 61 72 79 20 28 61 73 20  a c library (as 
100b0 73 75 63 68 29 21 0a 09 20 20 20 20 3b 3b 0a 09  such)!..    ;;..
100c0 20 20 2a 2d 2a 2d 72 68 61 70 73 6f 64 79 2a 20    *-*-rhapsody* 
100d0 7c 20 2a 2d 2a 2d 64 61 72 77 69 6e 31 2e 5b 30  | *-*-darwin1.[0
100e0 31 32 5d 29 0a 09 20 20 20 20 23 20 52 68 61 70  12])..    # Rhap
100f0 73 6f 64 79 20 43 20 6c 69 62 72 61 72 79 20 69  sody C library i
10100 73 20 69 6e 20 74 68 65 20 53 79 73 74 65 6d 20  s in the System 
10110 66 72 61 6d 65 77 6f 72 6b 0a 09 20 20 20 20 64  framework..    d
10120 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  eplibs="$deplibs
10130 20 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74   -framework Syst
10140 65 6d 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a  em"..    ;;..  *
10150 2d 2a 2d 6e 65 74 62 73 64 2a 29 0a 09 20 20 20  -*-netbsd*)..   
10160 20 23 20 44 6f 6e 27 74 20 6c 69 6e 6b 20 77 69   # Don't link wi
10170 74 68 20 6c 69 62 63 20 75 6e 74 69 6c 20 74 68  th libc until th
10180 65 20 61 2e 6f 75 74 20 6c 64 2e 73 6f 20 69 73  e a.out ld.so is
10190 20 66 69 78 65 64 2e 0a 09 20 20 20 20 3b 3b 0a   fixed...    ;;.
101a0 09 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20  .  *-*-openbsd* 
101b0 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a  | *-*-freebsd*).
101c0 09 20 20 20 20 23 20 44 6f 20 6e 6f 74 20 69 6e  .    # Do not in
101d0 63 6c 75 64 65 20 6c 69 62 63 20 64 75 65 20 74  clude libc due t
101e0 6f 20 75 73 20 68 61 76 69 6e 67 20 6c 69 62 63  o us having libc
101f0 2f 6c 69 62 63 5f 72 2e 0a 09 20 20 20 20 3b 3b  /libc_r...    ;;
10200 0a 09 20 20 2a 29 0a 09 20 20 20 20 23 20 41 64  ..  *)..    # Ad
10210 64 20 6c 69 62 63 20 74 6f 20 64 65 70 6c 69 62  d libc to deplib
10220 73 20 6f 6e 20 61 6c 6c 20 6f 74 68 65 72 20 73  s on all other s
10230 79 73 74 65 6d 73 20 69 66 20 6e 65 63 65 73 73  ystems if necess
10240 61 72 79 2e 0a 09 20 20 20 20 69 66 20 74 65 73  ary...    if tes
10250 74 20 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c  t $build_libtool
10260 5f 6e 65 65 64 5f 6c 63 20 3d 20 22 79 65 73 22  _need_lc = "yes"
10270 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 64 65  ; then..      de
10280 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20  plibs="$deplibs 
10290 2d 6c 63 22 0a 09 20 20 20 20 66 69 0a 09 20 20  -lc"..    fi..  
102a0 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66 69    ;;..  esac..fi
102b0 0a 0a 09 23 20 54 72 61 6e 73 66 6f 72 6d 20 64  ...# Transform d
102c0 65 70 6c 69 62 73 20 69 6e 74 6f 20 6f 6e 6c 79  eplibs into only
102d0 20 64 65 70 6c 69 62 73 20 74 68 61 74 20 63 61   deplibs that ca
102e0 6e 20 62 65 20 6c 69 6e 6b 65 64 20 69 6e 20 73  n be linked in s
102f0 68 61 72 65 64 2e 0a 09 6e 61 6d 65 5f 73 61 76  hared...name_sav
10300 65 3d 24 6e 61 6d 65 0a 09 6c 69 62 6e 61 6d 65  e=$name..libname
10310 5f 73 61 76 65 3d 24 6c 69 62 6e 61 6d 65 0a 09  _save=$libname..
10320 72 65 6c 65 61 73 65 5f 73 61 76 65 3d 24 72 65  release_save=$re
10330 6c 65 61 73 65 0a 09 76 65 72 73 75 66 66 69 78  lease..versuffix
10340 5f 73 61 76 65 3d 24 76 65 72 73 75 66 66 69 78  _save=$versuffix
10350 0a 09 6d 61 6a 6f 72 5f 73 61 76 65 3d 24 6d 61  ..major_save=$ma
10360 6a 6f 72 0a 09 23 20 49 27 6d 20 6e 6f 74 20 73  jor..# I'm not s
10370 75 72 65 20 69 66 20 49 27 6d 20 74 72 65 61 74  ure if I'm treat
10380 69 6e 67 20 74 68 65 20 72 65 6c 65 61 73 65 20  ing the release 
10390 63 6f 72 72 65 63 74 6c 79 2e 20 20 49 20 74 68  correctly.  I th
103a0 69 6e 6b 0a 09 23 20 72 65 6c 65 61 73 65 20 73  ink..# release s
103b0 68 6f 75 6c 64 20 73 68 6f 77 20 75 70 20 69 6e  hould show up in
103c0 20 74 68 65 20 2d 6c 20 28 69 65 20 2d 6c 67 6d   the -l (ie -lgm
103d0 70 35 29 20 73 6f 20 77 65 20 64 6f 6e 27 74 20  p5) so we don't 
103e0 77 61 6e 74 20 74 6f 0a 09 23 20 61 64 64 20 69  want to..# add i
103f0 74 20 69 6e 20 74 77 69 63 65 2e 20 20 49 73 20  t in twice.  Is 
10400 74 68 61 74 20 63 6f 72 72 65 63 74 3f 0a 09 72  that correct?..r
10410 65 6c 65 61 73 65 3d 22 22 0a 09 76 65 72 73 75  elease=""..versu
10420 66 66 69 78 3d 22 22 0a 09 6d 61 6a 6f 72 3d 22  ffix=""..major="
10430 22 0a 09 6e 65 77 64 65 70 6c 69 62 73 3d 0a 09  "..newdeplibs=..
10440 64 72 6f 70 70 65 64 64 65 70 73 3d 6e 6f 0a 09  droppeddeps=no..
10450 63 61 73 65 20 24 64 65 70 6c 69 62 73 5f 63 68  case $deplibs_ch
10460 65 63 6b 5f 6d 65 74 68 6f 64 20 69 6e 0a 09 70  eck_method in..p
10470 61 73 73 5f 61 6c 6c 29 0a 09 20 20 23 20 44 6f  ass_all)..  # Do
10480 6e 27 74 20 63 68 65 63 6b 20 66 6f 72 20 73 68  n't check for sh
10490 61 72 65 64 2f 73 74 61 74 69 63 2e 20 20 45 76  ared/static.  Ev
104a0 65 72 79 74 68 69 6e 67 20 77 6f 72 6b 73 2e 0a  erything works..
104b0 09 20 20 23 20 54 68 69 73 20 6d 69 67 68 74 20  .  # This might 
104c0 62 65 20 61 20 6c 69 74 74 6c 65 20 6e 61 69 76  be a little naiv
104d0 65 2e 20 20 57 65 20 6d 69 67 68 74 20 77 61 6e  e.  We might wan
104e0 74 20 74 6f 20 63 68 65 63 6b 0a 09 20 20 23 20  t to check..  # 
104f0 77 68 65 74 68 65 72 20 74 68 65 20 6c 69 62 72  whether the libr
10500 61 72 79 20 65 78 69 73 74 73 20 6f 72 20 6e 6f  ary exists or no
10510 74 2e 20 20 42 75 74 20 74 68 69 73 20 69 73 20  t.  But this is 
10520 6f 6e 0a 09 20 20 23 20 6f 73 66 33 20 26 20 6f  on..  # osf3 & o
10530 73 66 34 20 61 6e 64 20 49 27 6d 20 6e 6f 74 20  sf4 and I'm not 
10540 72 65 61 6c 6c 79 20 73 75 72 65 2e 2e 2e 20 4a  really sure... J
10550 75 73 74 0a 09 20 20 23 20 69 6d 70 6c 65 6d 65  ust..  # impleme
10560 6e 74 69 6e 67 20 77 68 61 74 20 77 61 73 20 61  nting what was a
10570 6c 72 65 61 64 79 20 74 68 65 20 62 65 68 61 76  lready the behav
10580 69 6f 75 72 2e 0a 09 20 20 6e 65 77 64 65 70 6c  iour...  newdepl
10590 69 62 73 3d 24 64 65 70 6c 69 62 73 0a 09 20 20  ibs=$deplibs..  
105a0 3b 3b 0a 09 74 65 73 74 5f 63 6f 6d 70 69 6c 65  ;;..test_compile
105b0 29 0a 09 20 20 23 20 54 68 69 73 20 63 6f 64 65  )..  # This code
105c0 20 73 74 72 65 73 73 65 73 20 74 68 65 20 22 6c   stresses the "l
105d0 69 62 72 61 72 69 65 73 20 61 72 65 20 70 72 6f  ibraries are pro
105e0 67 72 61 6d 73 22 20 70 61 72 61 64 69 67 6d 20  grams" paradigm 
105f0 74 6f 20 69 74 73 0a 09 20 20 23 20 6c 69 6d 69  to its..  # limi
10600 74 73 2e 20 4d 61 79 62 65 20 65 76 65 6e 20 62  ts. Maybe even b
10610 72 65 61 6b 73 20 69 74 2e 20 20 57 65 20 63 6f  reaks it.  We co
10620 6d 70 69 6c 65 20 61 20 70 72 6f 67 72 61 6d 2c  mpile a program,
10630 20 6c 69 6e 6b 69 6e 67 20 69 74 0a 09 20 20 23   linking it..  #
10640 20 61 67 61 69 6e 73 74 20 74 68 65 20 64 65 70   against the dep
10650 6c 69 62 73 20 61 73 20 61 20 70 72 6f 78 79 20  libs as a proxy 
10660 66 6f 72 20 74 68 65 20 6c 69 62 72 61 72 79 2e  for the library.
10670 20 20 54 68 65 6e 20 77 65 20 63 61 6e 20 63 68    Then we can ch
10680 65 63 6b 0a 09 20 20 23 20 77 68 65 74 68 65 72  eck..  # whether
10690 20 74 68 65 79 20 6c 69 6e 6b 65 64 20 69 6e 20   they linked in 
106a0 73 74 61 74 69 63 61 6c 6c 79 20 6f 72 20 64 79  statically or dy
106b0 6e 61 6d 69 63 61 6c 6c 79 20 77 69 74 68 20 6c  namically with l
106c0 64 64 2e 0a 09 20 20 24 72 6d 20 63 6f 6e 66 74  dd...  $rm conft
106d0 65 73 74 2e 63 0a 09 20 20 63 61 74 20 3e 20 63  est.c..  cat > c
106e0 6f 6e 66 74 65 73 74 2e 63 20 3c 3c 45 4f 46 0a  onftest.c <<EOF.
106f0 09 20 20 69 6e 74 20 6d 61 69 6e 28 29 20 7b 20  .  int main() { 
10700 72 65 74 75 72 6e 20 30 3b 20 7d 0a 45 4f 46 0a  return 0; }.EOF.
10710 09 20 20 24 72 6d 20 63 6f 6e 66 74 65 73 74 0a  .  $rm conftest.
10720 09 20 20 24 43 43 20 2d 6f 20 63 6f 6e 66 74 65  .  $CC -o confte
10730 73 74 20 63 6f 6e 66 74 65 73 74 2e 63 20 24 64  st conftest.c $d
10740 65 70 6c 69 62 73 0a 09 20 20 69 66 20 74 65 73  eplibs..  if tes
10750 74 20 24 3f 20 2d 65 71 20 30 20 3b 20 74 68 65  t $? -eq 0 ; the
10760 6e 0a 09 20 20 20 20 6c 64 64 5f 6f 75 74 70 75  n..    ldd_outpu
10770 74 3d 60 6c 64 64 20 63 6f 6e 66 74 65 73 74 60  t=`ldd conftest`
10780 0a 09 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24  ..    for i in $
10790 64 65 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  deplibs; do..   
107a0 20 20 20 6e 61 6d 65 3d 22 60 65 78 70 72 20 24     name="`expr $
107b0 69 20 3a 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22  i : '-l\(.*\)'`"
107c0 0a 09 20 20 20 20 20 20 23 20 49 66 20 24 6e 61  ..      # If $na
107d0 6d 65 20 69 73 20 65 6d 70 74 79 20 77 65 20 61  me is empty we a
107e0 72 65 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20  re operating on 
107f0 61 20 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09  a -L argument...
10800 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
10810 20 22 24 6e 61 6d 65 22 20 26 26 20 74 65 73 74   "$name" && test
10820 20 22 24 6e 61 6d 65 22 20 21 3d 20 22 30 22 3b   "$name" != "0";
10830 20 74 68 65 6e 0a 09 09 6c 69 62 6e 61 6d 65 3d   then...libname=
10840 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22  `eval \\$echo \"
10850 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60  $libname_spec\"`
10860 0a 09 09 64 65 70 6c 69 62 5f 6d 61 74 63 68 65  ...deplib_matche
10870 73 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20  s=`eval \\$echo 
10880 5c 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  \"$library_names
10890 5f 73 70 65 63 5c 22 60 0a 09 09 73 65 74 20 64  _spec\"`...set d
108a0 75 6d 6d 79 20 24 64 65 70 6c 69 62 5f 6d 61 74  ummy $deplib_mat
108b0 63 68 65 73 0a 09 09 64 65 70 6c 69 62 5f 6d 61  ches...deplib_ma
108c0 74 63 68 3d 24 32 0a 09 09 69 66 20 74 65 73 74  tch=$2...if test
108d0 20 60 65 78 70 72 20 22 24 6c 64 64 5f 6f 75 74   `expr "$ldd_out
108e0 70 75 74 22 20 3a 20 22 2e 2a 24 64 65 70 6c 69  put" : ".*$depli
108f0 62 5f 6d 61 74 63 68 22 60 20 2d 6e 65 20 30 20  b_match"` -ne 0 
10900 3b 20 74 68 65 6e 0a 09 09 20 20 6e 65 77 64 65  ; then...  newde
10910 70 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69  plibs="$newdepli
10920 62 73 20 24 69 22 0a 09 09 65 6c 73 65 0a 09 09  bs $i"...else...
10930 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d 79 65    droppeddeps=ye
10940 73 0a 09 09 20 20 65 63 68 6f 0a 09 09 20 20 65  s...  echo...  e
10950 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67  cho "*** Warning
10960 3a 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 65 72  : dynamic linker
10970 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 74   does not accept
10980 20 6e 65 65 64 65 64 20 6c 69 62 72 61 72 79 20   needed library 
10990 24 69 2e 22 0a 09 09 20 20 65 63 68 6f 20 22 2a  $i."...  echo "*
109a0 2a 2a 20 49 20 68 61 76 65 20 74 68 65 20 63 61  ** I have the ca
109b0 70 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65  pability to make
109c0 20 74 68 61 74 20 6c 69 62 72 61 72 79 20 61 75   that library au
109d0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b  tomatically link
109e0 20 69 6e 20 77 68 65 6e 22 0a 09 09 20 20 65 63   in when"...  ec
109f0 68 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b  ho "*** you link
10a00 20 74 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79   to this library
10a10 2e 20 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c  .  But I can onl
10a20 79 20 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75  y do this if you
10a30 20 68 61 76 65 20 61 22 0a 09 09 20 20 65 63 68   have a"...  ech
10a40 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65  o "*** shared ve
10a50 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62  rsion of the lib
10a60 72 61 72 79 2c 20 77 68 69 63 68 20 49 20 62 65  rary, which I be
10a70 6c 69 65 76 65 20 79 6f 75 20 64 6f 20 6e 6f 74  lieve you do not
10a80 20 68 61 76 65 22 0a 09 09 20 20 65 63 68 6f 20   have"...  echo 
10a90 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 61 20 74  "*** because a t
10aa0 65 73 74 5f 63 6f 6d 70 69 6c 65 20 64 69 64 20  est_compile did 
10ab0 72 65 76 65 61 6c 20 74 68 61 74 20 74 68 65 20  reveal that the 
10ac0 6c 69 6e 6b 65 72 20 64 69 64 20 6e 6f 74 20 75  linker did not u
10ad0 73 65 20 69 74 20 66 6f 72 22 0a 09 09 20 20 65  se it for"...  e
10ae0 63 68 6f 20 22 2a 2a 2a 20 69 74 73 20 64 79 6e  cho "*** its dyn
10af0 61 6d 69 63 20 64 65 70 65 6e 64 65 6e 63 79 20  amic dependency 
10b00 6c 69 73 74 20 74 68 61 74 20 70 72 6f 67 72 61  list that progra
10b10 6d 73 20 67 65 74 20 72 65 73 6f 6c 76 65 64 20  ms get resolved 
10b20 77 69 74 68 20 61 74 20 72 75 6e 74 69 6d 65 2e  with at runtime.
10b30 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65 6c  "...fi..      el
10b40 73 65 0a 09 09 6e 65 77 64 65 70 6c 69 62 73 3d  se...newdeplibs=
10b50 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 69 22  "$newdeplibs $i"
10b60 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
10b70 64 6f 6e 65 0a 09 20 20 65 6c 73 65 0a 09 20 20  done..  else..  
10b80 20 20 23 20 45 72 72 6f 72 20 6f 63 63 75 72 65    # Error occure
10b90 64 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 63  d in the first c
10ba0 6f 6d 70 69 6c 65 2e 20 20 4c 65 74 27 73 20 74  ompile.  Let's t
10bb0 72 79 20 74 6f 20 73 61 6c 76 61 67 65 0a 09 20  ry to salvage.. 
10bc0 20 20 20 23 20 74 68 65 20 73 69 74 75 61 74 69     # the situati
10bd0 6f 6e 3a 20 43 6f 6d 70 69 6c 65 20 61 20 73 65  on: Compile a se
10be0 70 61 72 61 74 65 20 70 72 6f 67 72 61 6d 20 66  parate program f
10bf0 6f 72 20 65 61 63 68 20 6c 69 62 72 61 72 79 2e  or each library.
10c00 0a 09 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24  ..    for i in $
10c10 64 65 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  deplibs; do..   
10c20 20 20 20 6e 61 6d 65 3d 22 60 65 78 70 72 20 24     name="`expr $
10c30 69 20 3a 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22  i : '-l\(.*\)'`"
10c40 0a 09 20 20 20 20 20 23 20 49 66 20 24 6e 61 6d  ..     # If $nam
10c50 65 20 69 73 20 65 6d 70 74 79 20 77 65 20 61 72  e is empty we ar
10c60 65 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61  e operating on a
10c70 20 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20   -L argument... 
10c80 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
10c90 22 24 6e 61 6d 65 22 20 26 26 20 74 65 73 74 20  "$name" && test 
10ca0 22 24 6e 61 6d 65 22 20 21 3d 20 22 30 22 3b 20  "$name" != "0"; 
10cb0 74 68 65 6e 0a 09 09 24 72 6d 20 63 6f 6e 66 74  then...$rm conft
10cc0 65 73 74 0a 09 09 24 43 43 20 2d 6f 20 63 6f 6e  est...$CC -o con
10cd0 66 74 65 73 74 20 63 6f 6e 66 74 65 73 74 2e 63  ftest conftest.c
10ce0 20 24 69 0a 09 09 23 20 44 69 64 20 69 74 20 77   $i...# Did it w
10cf0 6f 72 6b 3f 0a 09 09 69 66 20 74 65 73 74 20 24  ork?...if test $
10d00 3f 20 2d 65 71 20 30 20 3b 20 74 68 65 6e 0a 09  ? -eq 0 ; then..
10d10 09 20 20 6c 64 64 5f 6f 75 74 70 75 74 3d 60 6c  .  ldd_output=`l
10d20 64 64 20 63 6f 6e 66 74 65 73 74 60 0a 09 09 20  dd conftest`... 
10d30 20 6c 69 62 6e 61 6d 65 3d 60 65 76 61 6c 20 5c   libname=`eval \
10d40 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 6e 61 6d  \$echo \"$libnam
10d50 65 5f 73 70 65 63 5c 22 60 0a 09 09 20 20 64 65  e_spec\"`...  de
10d60 70 6c 69 62 5f 6d 61 74 63 68 65 73 3d 60 65 76  plib_matches=`ev
10d70 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69  al \\$echo \"$li
10d80 62 72 61 72 79 5f 6e 61 6d 65 73 5f 73 70 65 63  brary_names_spec
10d90 5c 22 60 0a 09 09 20 20 73 65 74 20 64 75 6d 6d  \"`...  set dumm
10da0 79 20 24 64 65 70 6c 69 62 5f 6d 61 74 63 68 65  y $deplib_matche
10db0 73 0a 09 09 20 20 64 65 70 6c 69 62 5f 6d 61 74  s...  deplib_mat
10dc0 63 68 3d 24 32 0a 09 09 20 20 69 66 20 74 65 73  ch=$2...  if tes
10dd0 74 20 60 65 78 70 72 20 22 24 6c 64 64 5f 6f 75  t `expr "$ldd_ou
10de0 74 70 75 74 22 20 3a 20 22 2e 2a 24 64 65 70 6c  tput" : ".*$depl
10df0 69 62 5f 6d 61 74 63 68 22 60 20 2d 6e 65 20 30  ib_match"` -ne 0
10e00 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 6e 65   ; then...    ne
10e10 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64 65  wdeplibs="$newde
10e20 70 6c 69 62 73 20 24 69 22 0a 09 09 20 20 65 6c  plibs $i"...  el
10e30 73 65 0a 09 09 20 20 20 20 64 72 6f 70 70 65 64  se...    dropped
10e40 64 65 70 73 3d 79 65 73 0a 09 09 20 20 20 20 65  deps=yes...    e
10e50 63 68 6f 0a 09 09 20 20 20 20 65 63 68 6f 20 22  cho...    echo "
10e60 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 64 79 6e  *** Warning: dyn
10e70 61 6d 69 63 20 6c 69 6e 6b 65 72 20 64 6f 65 73  amic linker does
10e80 20 6e 6f 74 20 61 63 63 65 70 74 20 6e 65 65 64   not accept need
10e90 65 64 20 6c 69 62 72 61 72 79 20 24 69 2e 22 0a  ed library $i.".
10ea0 09 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20  ..    echo "*** 
10eb0 49 20 68 61 76 65 20 74 68 65 20 63 61 70 61 62  I have the capab
10ec0 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20 74 68  ility to make th
10ed0 61 74 20 6c 69 62 72 61 72 79 20 61 75 74 6f 6d  at library autom
10ee0 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e  atically link in
10ef0 20 77 68 65 6e 22 0a 09 09 20 20 20 20 65 63 68   when"...    ech
10f00 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20  o "*** you link 
10f10 74 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e  to this library.
10f20 20 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79    But I can only
10f30 20 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20   do this if you 
10f40 68 61 76 65 20 61 22 0a 09 09 20 20 20 20 65 63  have a"...    ec
10f50 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76  ho "*** shared v
10f60 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69  ersion of the li
10f70 62 72 61 72 79 2c 20 77 68 69 63 68 20 79 6f 75  brary, which you
10f80 20 64 6f 20 6e 6f 74 20 61 70 70 65 61 72 20 74   do not appear t
10f90 6f 20 68 61 76 65 22 0a 09 09 20 20 20 20 65 63  o have"...    ec
10fa0 68 6f 20 22 2a 2a 2a 20 62 65 63 61 75 73 65 20  ho "*** because 
10fb0 61 20 74 65 73 74 5f 63 6f 6d 70 69 6c 65 20 64  a test_compile d
10fc0 69 64 20 72 65 76 65 61 6c 20 74 68 61 74 20 74  id reveal that t
10fd0 68 65 20 6c 69 6e 6b 65 72 20 64 69 64 20 6e 6f  he linker did no
10fe0 74 20 75 73 65 20 74 68 69 73 20 6f 6e 65 22 0a  t use this one".
10ff0 09 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20  ..    echo "*** 
11000 61 73 20 61 20 64 79 6e 61 6d 69 63 20 64 65 70  as a dynamic dep
11010 65 6e 64 65 6e 63 79 20 74 68 61 74 20 70 72 6f  endency that pro
11020 67 72 61 6d 73 20 63 61 6e 20 67 65 74 20 72 65  grams can get re
11030 73 6f 6c 76 65 64 20 77 69 74 68 20 61 74 20 72  solved with at r
11040 75 6e 74 69 6d 65 2e 22 0a 09 09 20 20 66 69 0a  untime."...  fi.
11050 09 09 65 6c 73 65 0a 09 09 20 20 64 72 6f 70 70  ..else...  dropp
11060 65 64 64 65 70 73 3d 79 65 73 0a 09 09 20 20 65  eddeps=yes...  e
11070 63 68 6f 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a  cho...  echo "**
11080 2a 20 57 61 72 6e 69 6e 67 21 20 20 4c 69 62 72  * Warning!  Libr
11090 61 72 79 20 24 69 20 69 73 20 6e 65 65 64 65 64  ary $i is needed
110a0 20 62 79 20 74 68 69 73 20 6c 69 62 72 61 72 79   by this library
110b0 20 62 75 74 20 49 20 77 61 73 20 6e 6f 74 20 61   but I was not a
110c0 62 6c 65 20 74 6f 22 0a 09 09 20 20 65 63 68 6f  ble to"...  echo
110d0 20 22 2a 2a 2a 20 20 6d 61 6b 65 20 69 74 20 6c   "***  make it l
110e0 69 6e 6b 20 69 6e 21 20 20 59 6f 75 20 77 69 6c  ink in!  You wil
110f0 6c 20 70 72 6f 62 61 62 6c 79 20 6e 65 65 64 20  l probably need 
11100 74 6f 20 69 6e 73 74 61 6c 6c 20 69 74 20 6f 72  to install it or
11110 20 73 6f 6d 65 22 0a 09 09 20 20 65 63 68 6f 20   some"...  echo 
11120 22 2a 2a 2a 20 6c 69 62 72 61 72 79 20 74 68 61  "*** library tha
11130 74 20 69 74 20 64 65 70 65 6e 64 73 20 6f 6e 20  t it depends on 
11140 62 65 66 6f 72 65 20 74 68 69 73 20 6c 69 62 72  before this libr
11150 61 72 79 20 77 69 6c 6c 20 62 65 20 66 75 6c 6c  ary will be full
11160 79 22 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a  y"...  echo "***
11170 20 66 75 6e 63 74 69 6f 6e 61 6c 2e 20 20 49 6e   functional.  In
11180 73 74 61 6c 6c 69 6e 67 20 69 74 20 62 65 66 6f  stalling it befo
11190 72 65 20 63 6f 6e 74 69 6e 75 69 6e 67 20 77 6f  re continuing wo
111a0 75 6c 64 20 62 65 20 65 76 65 6e 20 62 65 74 74  uld be even bett
111b0 65 72 2e 22 0a 09 09 66 69 0a 09 20 20 20 20 20  er."...fi..     
111c0 20 65 6c 73 65 0a 09 09 6e 65 77 64 65 70 6c 69   else...newdepli
111d0 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
111e0 24 69 22 0a 09 20 20 20 20 20 20 66 69 0a 09 20  $i"..      fi.. 
111f0 20 20 20 64 6f 6e 65 0a 09 20 20 66 69 0a 09 20     done..  fi.. 
11200 20 3b 3b 0a 09 66 69 6c 65 5f 6d 61 67 69 63 2a   ;;..file_magic*
11210 29 0a 09 20 20 73 65 74 20 64 75 6d 6d 79 20 24  )..  set dummy $
11220 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65  deplibs_check_me
11230 74 68 6f 64 0a 09 20 20 66 69 6c 65 5f 6d 61 67  thod..  file_mag
11240 69 63 5f 72 65 67 65 78 3d 60 65 78 70 72 20 22  ic_regex=`expr "
11250 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d  $deplibs_check_m
11260 65 74 68 6f 64 22 20 3a 20 22 24 32 20 5c 28 2e  ethod" : "$2 \(.
11270 2a 5c 29 22 60 0a 09 20 20 66 6f 72 20 61 5f 64  *\)"`..  for a_d
11280 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62  eplib in $deplib
11290 73 3b 20 64 6f 0a 09 20 20 20 20 6e 61 6d 65 3d  s; do..    name=
112a0 22 60 65 78 70 72 20 24 61 5f 64 65 70 6c 69 62  "`expr $a_deplib
112b0 20 3a 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a   : '-l\(.*\)'`".
112c0 09 20 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20  .    # If $name 
112d0 69 73 20 65 6d 70 74 79 20 77 65 20 61 72 65 20  is empty we are 
112e0 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d  operating on a -
112f0 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20  L argument...   
11300 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6e 61   if test -n "$na
11310 6d 65 22 20 26 26 20 74 65 73 74 20 22 24 6e 61  me" && test "$na
11320 6d 65 22 20 21 3d 20 22 30 22 3b 20 74 68 65 6e  me" != "0"; then
11330 0a 09 20 20 20 20 20 20 6c 69 62 6e 61 6d 65 3d  ..      libname=
11340 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22  `eval \\$echo \"
11350 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60  $libname_spec\"`
11360 0a 09 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e  ..      for i in
11370 20 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74   $lib_search_pat
11380 68 20 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63  h $sys_lib_searc
11390 68 5f 70 61 74 68 20 24 73 68 6c 69 62 5f 73 65  h_path $shlib_se
113a0 61 72 63 68 5f 70 61 74 68 3b 20 64 6f 0a 09 09  arch_path; do...
113b0 20 20 20 20 70 6f 74 65 6e 74 69 61 6c 5f 6c 69      potential_li
113c0 62 73 3d 60 6c 73 20 24 69 2f 24 6c 69 62 6e 61  bs=`ls $i/$libna
113d0 6d 65 5b 2e 2d 5d 2a 20 32 3e 2f 64 65 76 2f 6e  me[.-]* 2>/dev/n
113e0 75 6c 6c 60 0a 09 09 20 20 20 20 66 6f 72 20 70  ull`...    for p
113f0 6f 74 65 6e 74 5f 6c 69 62 20 69 6e 20 24 70 6f  otent_lib in $po
11400 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3b 20 64 6f  tential_libs; do
11410 0a 09 09 20 20 20 20 20 20 23 20 46 6f 6c 6c 6f  ...      # Follo
11420 77 20 73 6f 66 74 20 6c 69 6e 6b 73 2e 0a 09 09  w soft links....
11430 20 20 20 20 20 20 69 66 20 6c 73 20 2d 6c 4c 64        if ls -lLd
11440 20 22 24 70 6f 74 65 6e 74 5f 6c 69 62 22 20 32   "$potent_lib" 2
11450 3e 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a 09 09 09  >/dev/null \....
11460 20 7c 20 67 72 65 70 20 22 20 2d 3e 20 22 20 3e   | grep " -> " >
11470 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a  /dev/null; then.
11480 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 20 20  ...continue...  
11490 20 20 20 20 66 69 0a 09 09 20 20 20 20 20 20 23      fi...      #
114a0 20 54 68 65 20 73 74 61 74 65 6d 65 6e 74 20 61   The statement a
114b0 62 6f 76 65 20 74 72 69 65 73 20 74 6f 20 61 76  bove tries to av
114c0 6f 69 64 20 65 6e 74 65 72 69 6e 67 20 61 6e 0a  oid entering an.
114d0 09 09 20 20 20 20 20 20 23 20 65 6e 64 6c 65 73  ..      # endles
114e0 73 20 6c 6f 6f 70 20 62 65 6c 6f 77 2c 20 69 6e  s loop below, in
114f0 20 63 61 73 65 20 6f 66 20 63 79 63 6c 69 63 20   case of cyclic 
11500 6c 69 6e 6b 73 2e 0a 09 09 20 20 20 20 20 20 23  links....      #
11510 20 57 65 20 6d 69 67 68 74 20 73 74 69 6c 6c 20   We might still 
11520 65 6e 74 65 72 20 61 6e 20 65 6e 64 6c 65 73 73  enter an endless
11530 20 6c 6f 6f 70 2c 20 73 69 6e 63 65 20 61 20 6c   loop, since a l
11540 69 6e 6b 0a 09 09 20 20 20 20 20 20 23 20 6c 6f  ink...      # lo
11550 6f 70 20 63 61 6e 20 62 65 20 63 6c 6f 73 65 64  op can be closed
11560 20 77 68 69 6c 65 20 77 65 20 66 6f 6c 6c 6f 77   while we follow
11570 20 6c 69 6e 6b 73 2c 0a 09 09 20 20 20 20 20 20   links,...      
11580 23 20 62 75 74 20 73 6f 20 77 68 61 74 3f 0a 09  # but so what?..
11590 09 20 20 20 20 20 20 70 6f 74 6c 69 62 3d 22 24  .      potlib="$
115a0 70 6f 74 65 6e 74 5f 6c 69 62 22 0a 09 09 20 20  potent_lib"...  
115b0 20 20 20 20 77 68 69 6c 65 20 74 65 73 74 20 2d      while test -
115c0 68 20 22 24 70 6f 74 6c 69 62 22 20 32 3e 2f 64  h "$potlib" 2>/d
115d0 65 76 2f 6e 75 6c 6c 3b 20 64 6f 0a 09 09 09 70  ev/null; do....p
115e0 6f 74 6c 69 62 6c 69 6e 6b 3d 60 6c 73 20 2d 6c  otliblink=`ls -l
115f0 64 20 24 70 6f 74 6c 69 62 20 7c 20 24 7b 53 45  d $potlib | ${SE
11600 44 7d 20 27 73 2f 2e 2a 20 2d 3e 20 2f 2f 27 60  D} 's/.* -> //'`
11610 0a 09 09 09 63 61 73 65 20 24 70 6f 74 6c 69 62  ....case $potlib
11620 6c 69 6e 6b 20 69 6e 0a 09 09 09 5b 5c 5c 2f 5d  link in....[\\/]
11630 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c  * | [A-Za-z]:[\\
11640 2f 5d 2a 29 20 70 6f 74 6c 69 62 3d 22 24 70 6f  /]*) potlib="$po
11650 74 6c 69 62 6c 69 6e 6b 22 3b 3b 0a 09 09 09 2a  tliblink";;....*
11660 29 20 70 6f 74 6c 69 62 3d 60 24 65 63 68 6f 20  ) potlib=`$echo 
11670 22 58 24 70 6f 74 6c 69 62 22 20 7c 20 24 58 73  "X$potlib" | $Xs
11680 65 64 20 2d 65 20 27 73 2c 5b 5e 2f 5d 2a 24 2c  ed -e 's,[^/]*$,
11690 2c 27 60 22 24 70 6f 74 6c 69 62 6c 69 6e 6b 22  ,'`"$potliblink"
116a0 3b 3b 0a 09 09 09 65 73 61 63 0a 09 09 20 20 20  ;;....esac...   
116b0 20 20 20 64 6f 6e 65 0a 09 09 20 20 20 20 20 20     done...      
116c0 69 66 20 65 76 61 6c 20 24 66 69 6c 65 5f 6d 61  if eval $file_ma
116d0 67 69 63 5f 63 6d 64 20 5c 22 5c 24 70 6f 74 6c  gic_cmd \"\$potl
116e0 69 62 5c 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  ib\" 2>/dev/null
116f0 20 5c 0a 09 09 09 20 7c 20 24 7b 53 45 44 7d 20   \.... | ${SED} 
11700 31 30 71 20 5c 0a 09 09 09 20 7c 20 65 67 72 65  10q \.... | egre
11710 70 20 22 24 66 69 6c 65 5f 6d 61 67 69 63 5f 72  p "$file_magic_r
11720 65 67 65 78 22 20 3e 20 2f 64 65 76 2f 6e 75 6c  egex" > /dev/nul
11730 6c 3b 20 74 68 65 6e 0a 09 09 09 6e 65 77 64 65  l; then....newde
11740 70 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69  plibs="$newdepli
11750 62 73 20 24 61 5f 64 65 70 6c 69 62 22 0a 09 09  bs $a_deplib"...
11760 09 61 5f 64 65 70 6c 69 62 3d 22 22 0a 09 09 09  .a_deplib=""....
11770 62 72 65 61 6b 20 32 0a 09 09 20 20 20 20 20 20  break 2...      
11780 66 69 0a 09 09 20 20 20 20 64 6f 6e 65 0a 09 20  fi...    done.. 
11790 20 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 20       done..     
117a0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61 5f   if test -n "$a_
117b0 64 65 70 6c 69 62 22 20 3b 20 74 68 65 6e 0a 09  deplib" ; then..
117c0 09 64 72 6f 70 70 65 64 64 65 70 73 3d 79 65 73  .droppeddeps=yes
117d0 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f 20 22  ...echo...echo "
117e0 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 6c 69 6e  *** Warning: lin
117f0 6b 65 72 20 70 61 74 68 20 64 6f 65 73 20 6e 6f  ker path does no
11800 74 20 68 61 76 65 20 72 65 61 6c 20 66 69 6c 65  t have real file
11810 20 66 6f 72 20 6c 69 62 72 61 72 79 20 24 61 5f   for library $a_
11820 64 65 70 6c 69 62 2e 22 0a 09 09 65 63 68 6f 20  deplib."...echo 
11830 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68 65 20  "*** I have the 
11840 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 6d 61  capability to ma
11850 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72 79 20  ke that library 
11860 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69  automatically li
11870 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 09 65 63  nk in when"...ec
11880 68 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b  ho "*** you link
11890 20 74 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79   to this library
118a0 2e 20 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c  .  But I can onl
118b0 79 20 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75  y do this if you
118c0 20 68 61 76 65 20 61 22 0a 09 09 65 63 68 6f 20   have a"...echo 
118d0 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73  "*** shared vers
118e0 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61  ion of the libra
118f0 72 79 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f  ry, which you do
11900 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68   not appear to h
11910 61 76 65 22 0a 09 09 65 63 68 6f 20 22 2a 2a 2a  ave"...echo "***
11920 20 62 65 63 61 75 73 65 20 49 20 64 69 64 20 63   because I did c
11930 68 65 63 6b 20 74 68 65 20 6c 69 6e 6b 65 72 20  heck the linker 
11940 70 61 74 68 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72  path looking for
11950 20 61 20 66 69 6c 65 20 73 74 61 72 74 69 6e 67   a file starting
11960 22 0a 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22  "...if test -z "
11970 24 70 6f 74 6c 69 62 22 20 3b 20 74 68 65 6e 0a  $potlib" ; then.
11980 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a 20 77 69  ..  echo "*** wi
11990 74 68 20 24 6c 69 62 6e 61 6d 65 20 62 75 74 20  th $libname but 
119a0 6e 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77 65  no candidates we
119b0 72 65 20 66 6f 75 6e 64 2e 20 28 2e 2e 2e 66 6f  re found. (...fo
119c0 72 20 66 69 6c 65 20 6d 61 67 69 63 20 74 65 73  r file magic tes
119d0 74 29 22 0a 09 09 65 6c 73 65 0a 09 09 20 20 65  t)"...else...  e
119e0 63 68 6f 20 22 2a 2a 2a 20 77 69 74 68 20 24 6c  cho "*** with $l
119f0 69 62 6e 61 6d 65 20 61 6e 64 20 6e 6f 6e 65 20  ibname and none 
11a00 6f 66 20 74 68 65 20 63 61 6e 64 69 64 61 74 65  of the candidate
11a10 73 20 70 61 73 73 65 64 20 61 20 66 69 6c 65 20  s passed a file 
11a20 66 6f 72 6d 61 74 20 74 65 73 74 22 0a 09 09 20  format test"... 
11a30 20 65 63 68 6f 20 22 2a 2a 2a 20 75 73 69 6e 67   echo "*** using
11a40 20 61 20 66 69 6c 65 20 6d 61 67 69 63 2e 20 4c   a file magic. L
11a50 61 73 74 20 66 69 6c 65 20 63 68 65 63 6b 65 64  ast file checked
11a60 3a 20 24 70 6f 74 6c 69 62 22 0a 09 09 66 69 0a  : $potlib"...fi.
11a70 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 65  .      fi..    e
11a80 6c 73 65 0a 09 20 20 20 20 20 20 23 20 41 64 64  lse..      # Add
11a90 20 61 20 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a   a -L argument..
11aa0 09 20 20 20 20 20 20 6e 65 77 64 65 70 6c 69 62  .      newdeplib
11ab0 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24  s="$newdeplibs $
11ac0 61 5f 64 65 70 6c 69 62 22 0a 09 20 20 20 20 66  a_deplib"..    f
11ad0 69 0a 09 20 20 64 6f 6e 65 20 23 20 47 6f 6e 65  i..  done # Gone
11ae0 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 64 65 70   through all dep
11af0 6c 69 62 73 2e 0a 09 20 20 3b 3b 0a 09 6d 61 74  libs...  ;;..mat
11b00 63 68 5f 70 61 74 74 65 72 6e 2a 29 0a 09 20 20  ch_pattern*)..  
11b10 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70 6c 69  set dummy $depli
11b20 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64 0a  bs_check_method.
11b30 09 20 20 6d 61 74 63 68 5f 70 61 74 74 65 72 6e  .  match_pattern
11b40 5f 72 65 67 65 78 3d 60 65 78 70 72 20 22 24 64  _regex=`expr "$d
11b50 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74  eplibs_check_met
11b60 68 6f 64 22 20 3a 20 22 24 32 20 5c 28 2e 2a 5c  hod" : "$2 \(.*\
11b70 29 22 60 0a 09 20 20 66 6f 72 20 61 5f 64 65 70  )"`..  for a_dep
11b80 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62 73 3b  lib in $deplibs;
11b90 20 64 6f 0a 09 20 20 20 20 6e 61 6d 65 3d 22 60   do..    name="`
11ba0 65 78 70 72 20 24 61 5f 64 65 70 6c 69 62 20 3a  expr $a_deplib :
11bb0 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20   '-l\(.*\)'`".. 
11bc0 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73     # If $name is
11bd0 20 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70   empty we are op
11be0 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20  erating on a -L 
11bf0 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 69  argument...    i
11c00 66 20 74 65 73 74 20 2d 6e 20 22 24 6e 61 6d 65  f test -n "$name
11c10 22 20 26 26 20 74 65 73 74 20 22 24 6e 61 6d 65  " && test "$name
11c20 22 20 21 3d 20 22 30 22 3b 20 74 68 65 6e 0a 09  " != "0"; then..
11c30 20 20 20 20 20 20 6c 69 62 6e 61 6d 65 3d 60 65        libname=`e
11c40 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c  val \\$echo \"$l
11c50 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09  ibname_spec\"`..
11c60 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24        for i in $
11c70 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 20  lib_search_path 
11c80 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f  $sys_lib_search_
11c90 70 61 74 68 20 24 73 68 6c 69 62 5f 73 65 61 72  path $shlib_sear
11ca0 63 68 5f 70 61 74 68 3b 20 64 6f 0a 09 09 70 6f  ch_path; do...po
11cb0 74 65 6e 74 69 61 6c 5f 6c 69 62 73 3d 60 6c 73  tential_libs=`ls
11cc0 20 24 69 2f 24 6c 69 62 6e 61 6d 65 5b 2e 2d 5d   $i/$libname[.-]
11cd0 2a 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 09  * 2>/dev/null`..
11ce0 09 66 6f 72 20 70 6f 74 65 6e 74 5f 6c 69 62 20  .for potent_lib 
11cf0 69 6e 20 24 70 6f 74 65 6e 74 69 61 6c 5f 6c 69  in $potential_li
11d00 62 73 3b 20 64 6f 0a 09 09 20 20 70 6f 74 6c 69  bs; do...  potli
11d10 62 3d 22 24 70 6f 74 65 6e 74 5f 6c 69 62 22 20  b="$potent_lib" 
11d20 23 20 73 65 65 20 73 79 6d 6c 69 6e 6b 2d 63 68  # see symlink-ch
11d30 65 63 6b 20 62 65 6c 6f 77 20 69 6e 20 66 69 6c  eck below in fil
11d40 65 5f 6d 61 67 69 63 20 74 65 73 74 0a 09 09 20  e_magic test... 
11d50 20 69 66 20 65 76 61 6c 20 65 63 68 6f 20 5c 22   if eval echo \"
11d60 24 70 6f 74 65 6e 74 5f 6c 69 62 5c 22 20 32 3e  $potent_lib\" 2>
11d70 2f 64 65 76 2f 6e 75 6c 6c 20 5c 0a 09 09 20 20  /dev/null \...  
11d80 20 20 20 20 7c 20 24 7b 53 45 44 7d 20 31 30 71      | ${SED} 10q
11d90 20 5c 0a 09 09 20 20 20 20 20 20 7c 20 65 67 72   \...      | egr
11da0 65 70 20 22 24 6d 61 74 63 68 5f 70 61 74 74 65  ep "$match_patte
11db0 72 6e 5f 72 65 67 65 78 22 20 3e 20 2f 64 65 76  rn_regex" > /dev
11dc0 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 20 20  /null; then...  
11dd0 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e    newdeplibs="$n
11de0 65 77 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70  ewdeplibs $a_dep
11df0 6c 69 62 22 0a 09 09 20 20 20 20 61 5f 64 65 70  lib"...    a_dep
11e00 6c 69 62 3d 22 22 0a 09 09 20 20 20 20 62 72 65  lib=""...    bre
11e10 61 6b 20 32 0a 09 09 20 20 66 69 0a 09 09 64 6f  ak 2...  fi...do
11e20 6e 65 0a 09 20 20 20 20 20 20 64 6f 6e 65 0a 09  ne..      done..
11e30 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
11e40 20 22 24 61 5f 64 65 70 6c 69 62 22 20 3b 20 74   "$a_deplib" ; t
11e50 68 65 6e 0a 09 09 64 72 6f 70 70 65 64 64 65 70  hen...droppeddep
11e60 73 3d 79 65 73 0a 09 09 65 63 68 6f 0a 09 09 65  s=yes...echo...e
11e70 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67  cho "*** Warning
11e80 3a 20 6c 69 6e 6b 65 72 20 70 61 74 68 20 64 6f  : linker path do
11e90 65 73 20 6e 6f 74 20 68 61 76 65 20 72 65 61 6c  es not have real
11ea0 20 66 69 6c 65 20 66 6f 72 20 6c 69 62 72 61 72   file for librar
11eb0 79 20 24 61 5f 64 65 70 6c 69 62 2e 22 0a 09 09  y $a_deplib."...
11ec0 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68 61 76 65  echo "*** I have
11ed0 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 79 20   the capability 
11ee0 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c 69 62  to make that lib
11ef0 72 61 72 79 20 61 75 74 6f 6d 61 74 69 63 61 6c  rary automatical
11f00 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68 65 6e 22  ly link in when"
11f10 0a 09 09 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75  ...echo "*** you
11f20 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69   link to this li
11f30 62 72 61 72 79 2e 20 20 42 75 74 20 49 20 63 61  brary.  But I ca
11f40 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69  n only do this i
11f50 66 20 79 6f 75 20 68 61 76 65 20 61 22 0a 09 09  f you have a"...
11f60 65 63 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64  echo "*** shared
11f70 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20   version of the 
11f80 6c 69 62 72 61 72 79 2c 20 77 68 69 63 68 20 79  library, which y
11f90 6f 75 20 64 6f 20 6e 6f 74 20 61 70 70 65 61 72  ou do not appear
11fa0 20 74 6f 20 68 61 76 65 22 0a 09 09 65 63 68 6f   to have"...echo
11fb0 20 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 49 20   "*** because I 
11fc0 64 69 64 20 63 68 65 63 6b 20 74 68 65 20 6c 69  did check the li
11fd0 6e 6b 65 72 20 70 61 74 68 20 6c 6f 6f 6b 69 6e  nker path lookin
11fe0 67 20 66 6f 72 20 61 20 66 69 6c 65 20 73 74 61  g for a file sta
11ff0 72 74 69 6e 67 22 0a 09 09 69 66 20 74 65 73 74  rting"...if test
12000 20 2d 7a 20 22 24 70 6f 74 6c 69 62 22 20 3b 20   -z "$potlib" ; 
12010 74 68 65 6e 0a 09 09 20 20 65 63 68 6f 20 22 2a  then...  echo "*
12020 2a 2a 20 77 69 74 68 20 24 6c 69 62 6e 61 6d 65  ** with $libname
12030 20 62 75 74 20 6e 6f 20 63 61 6e 64 69 64 61 74   but no candidat
12040 65 73 20 77 65 72 65 20 66 6f 75 6e 64 2e 20 28  es were found. (
12050 2e 2e 2e 66 6f 72 20 72 65 67 65 78 20 70 61 74  ...for regex pat
12060 74 65 72 6e 20 74 65 73 74 29 22 0a 09 09 65 6c  tern test)"...el
12070 73 65 0a 09 09 20 20 65 63 68 6f 20 22 2a 2a 2a  se...  echo "***
12080 20 77 69 74 68 20 24 6c 69 62 6e 61 6d 65 20 61   with $libname a
12090 6e 64 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 63  nd none of the c
120a0 61 6e 64 69 64 61 74 65 73 20 70 61 73 73 65 64  andidates passed
120b0 20 61 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 74   a file format t
120c0 65 73 74 22 0a 09 09 20 20 65 63 68 6f 20 22 2a  est"...  echo "*
120d0 2a 2a 20 75 73 69 6e 67 20 61 20 72 65 67 65 78  ** using a regex
120e0 20 70 61 74 74 65 72 6e 2e 20 4c 61 73 74 20 66   pattern. Last f
120f0 69 6c 65 20 63 68 65 63 6b 65 64 3a 20 24 70 6f  ile checked: $po
12100 74 6c 69 62 22 0a 09 09 66 69 0a 09 20 20 20 20  tlib"...fi..    
12110 20 20 66 69 0a 09 20 20 20 20 65 6c 73 65 0a 09    fi..    else..
12120 20 20 20 20 20 20 23 20 41 64 64 20 61 20 2d 4c        # Add a -L
12130 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20   argument...    
12140 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e    newdeplibs="$n
12150 65 77 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70  ewdeplibs $a_dep
12160 6c 69 62 22 0a 09 20 20 20 20 66 69 0a 09 20 20  lib"..    fi..  
12170 64 6f 6e 65 20 23 20 47 6f 6e 65 20 74 68 72 6f  done # Gone thro
12180 75 67 68 20 61 6c 6c 20 64 65 70 6c 69 62 73 2e  ugh all deplibs.
12190 0a 09 20 20 3b 3b 0a 09 6e 6f 6e 65 20 7c 20 75  ..  ;;..none | u
121a0 6e 6b 6e 6f 77 6e 20 7c 20 2a 29 0a 09 20 20 6e  nknown | *)..  n
121b0 65 77 64 65 70 6c 69 62 73 3d 22 22 0a 09 20 20  ewdeplibs=""..  
121c0 69 66 20 24 65 63 68 6f 20 22 58 20 24 64 65 70  if $echo "X $dep
121d0 6c 69 62 73 22 20 7c 20 24 58 73 65 64 20 2d 65  libs" | $Xsed -e
121e0 20 27 73 2f 20 2d 6c 63 24 2f 2f 27 20 5c 0a 09   's/ -lc$//' \..
121f0 20 20 20 20 20 20 20 2d 65 20 27 73 2f 20 2d 5b         -e 's/ -[
12200 4c 52 5d 5b 5e 20 5d 2a 2f 2f 67 27 20 2d 65 20  LR][^ ]*//g' -e 
12210 27 73 2f 5b 20 09 5d 2f 2f 67 27 20 7c 0a 09 20  's/[ .]//g' |.. 
12220 20 20 20 20 67 72 65 70 20 2e 20 3e 2f 64 65 76      grep . >/dev
12230 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20  /null; then..   
12240 20 65 63 68 6f 0a 09 20 20 20 20 69 66 20 74 65   echo..    if te
12250 73 74 20 22 58 24 64 65 70 6c 69 62 73 5f 63 68  st "X$deplibs_ch
12260 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3d 20 22 58  eck_method" = "X
12270 6e 6f 6e 65 22 3b 20 74 68 65 6e 0a 09 20 20 20  none"; then..   
12280 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72     echo "*** War
12290 6e 69 6e 67 3a 20 69 6e 74 65 72 2d 6c 69 62 72  ning: inter-libr
122a0 61 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73  ary dependencies
122b0 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74   are not support
122c0 65 64 20 69 6e 20 74 68 69 73 20 70 6c 61 74 66  ed in this platf
122d0 6f 72 6d 2e 22 0a 09 20 20 20 20 65 6c 73 65 0a  orm."..    else.
122e0 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  .      echo "***
122f0 20 57 61 72 6e 69 6e 67 3a 20 69 6e 74 65 72 2d   Warning: inter-
12300 6c 69 62 72 61 72 79 20 64 65 70 65 6e 64 65 6e  library dependen
12310 63 69 65 73 20 61 72 65 20 6e 6f 74 20 6b 6e 6f  cies are not kno
12320 77 6e 20 74 6f 20 62 65 20 73 75 70 70 6f 72 74  wn to be support
12330 65 64 2e 22 0a 09 20 20 20 20 66 69 0a 09 20 20  ed."..    fi..  
12340 20 20 65 63 68 6f 20 22 2a 2a 2a 20 41 6c 6c 20    echo "*** All 
12350 64 65 63 6c 61 72 65 64 20 69 6e 74 65 72 2d 6c  declared inter-l
12360 69 62 72 61 72 79 20 64 65 70 65 6e 64 65 6e 63  ibrary dependenc
12370 69 65 73 20 61 72 65 20 62 65 69 6e 67 20 64 72  ies are being dr
12380 6f 70 70 65 64 2e 22 0a 09 20 20 20 20 64 72 6f  opped."..    dro
12390 70 70 65 64 64 65 70 73 3d 79 65 73 0a 09 20 20  ppeddeps=yes..  
123a0 66 69 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09  fi..  ;;..esac..
123b0 76 65 72 73 75 66 66 69 78 3d 24 76 65 72 73 75  versuffix=$versu
123c0 66 66 69 78 5f 73 61 76 65 0a 09 6d 61 6a 6f 72  ffix_save..major
123d0 3d 24 6d 61 6a 6f 72 5f 73 61 76 65 0a 09 72 65  =$major_save..re
123e0 6c 65 61 73 65 3d 24 72 65 6c 65 61 73 65 5f 73  lease=$release_s
123f0 61 76 65 0a 09 6c 69 62 6e 61 6d 65 3d 24 6c 69  ave..libname=$li
12400 62 6e 61 6d 65 5f 73 61 76 65 0a 09 6e 61 6d 65  bname_save..name
12410 3d 24 6e 61 6d 65 5f 73 61 76 65 0a 0a 09 63 61  =$name_save...ca
12420 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a  se $host in..*-*
12430 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20 2a 2d 2a  -rhapsody* | *-*
12440 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32 5d 29 0a  -darwin1.[012]).
12450 09 20 20 23 20 4f 6e 20 52 68 61 70 73 6f 64 79  .  # On Rhapsody
12460 20 72 65 70 6c 61 63 65 20 74 68 65 20 43 20 6c   replace the C l
12470 69 62 72 61 72 79 20 69 73 20 74 68 65 20 53 79  ibrary is the Sy
12480 73 74 65 6d 20 66 72 61 6d 65 77 6f 72 6b 0a 09  stem framework..
12490 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 60 24 65    newdeplibs=`$e
124a0 63 68 6f 20 22 58 20 24 6e 65 77 64 65 70 6c 69  cho "X $newdepli
124b0 62 73 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  bs" | $Xsed -e '
124c0 73 2f 20 2d 6c 63 20 2f 20 2d 66 72 61 6d 65 77  s/ -lc / -framew
124d0 6f 72 6b 20 53 79 73 74 65 6d 20 2f 27 60 0a 09  ork System /'`..
124e0 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 69 66 20    ;;..esac...if 
124f0 74 65 73 74 20 22 24 64 72 6f 70 70 65 64 64 65  test "$droppedde
12500 70 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  ps" = yes; then.
12510 09 20 20 69 66 20 74 65 73 74 20 22 24 6d 6f 64  .  if test "$mod
12520 75 6c 65 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  ule" = yes; then
12530 0a 09 20 20 20 20 65 63 68 6f 0a 09 20 20 20 20  ..    echo..    
12540 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e  echo "*** Warnin
12550 67 3a 20 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64  g: libtool could
12560 20 6e 6f 74 20 73 61 74 69 73 66 79 20 61 6c 6c   not satisfy all
12570 20 64 65 63 6c 61 72 65 64 20 69 6e 74 65 72 2d   declared inter-
12580 6c 69 62 72 61 72 79 22 0a 09 20 20 20 20 65 63  library"..    ec
12590 68 6f 20 22 2a 2a 2a 20 64 65 70 65 6e 64 65 6e  ho "*** dependen
125a0 63 69 65 73 20 6f 66 20 6d 6f 64 75 6c 65 20 24  cies of module $
125b0 6c 69 62 6e 61 6d 65 2e 20 20 54 68 65 72 65 66  libname.  Theref
125c0 6f 72 65 2c 20 6c 69 62 74 6f 6f 6c 20 77 69 6c  ore, libtool wil
125d0 6c 20 63 72 65 61 74 65 22 0a 09 20 20 20 20 65  l create"..    e
125e0 63 68 6f 20 22 2a 2a 2a 20 61 20 73 74 61 74 69  cho "*** a stati
125f0 63 20 6d 6f 64 75 6c 65 2c 20 74 68 61 74 20 73  c module, that s
12600 68 6f 75 6c 64 20 77 6f 72 6b 20 61 73 20 6c 6f  hould work as lo
12610 6e 67 20 61 73 20 74 68 65 20 64 6c 6f 70 65 6e  ng as the dlopen
12620 69 6e 67 22 0a 09 20 20 20 20 65 63 68 6f 20 22  ing"..    echo "
12630 2a 2a 2a 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  *** application 
12640 69 73 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74  is linked with t
12650 68 65 20 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 2e  he -dlopen flag.
12660 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  "..    if test -
12670 7a 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f  z "$global_symbo
12680 6c 5f 70 69 70 65 22 3b 20 74 68 65 6e 0a 09 20  l_pipe"; then.. 
12690 20 20 20 20 20 65 63 68 6f 0a 09 20 20 20 20 20       echo..     
126a0 20 65 63 68 6f 20 22 2a 2a 2a 20 48 6f 77 65 76   echo "*** Howev
126b0 65 72 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 6f  er, this would o
126c0 6e 6c 79 20 77 6f 72 6b 20 69 66 20 6c 69 62 74  nly work if libt
126d0 6f 6f 6c 20 77 61 73 20 61 62 6c 65 20 74 6f 20  ool was able to 
126e0 65 78 74 72 61 63 74 20 73 79 6d 62 6f 6c 22 0a  extract symbol".
126f0 09 20 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  .      echo "***
12700 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 70 72   lists from a pr
12710 6f 67 72 61 6d 2c 20 75 73 69 6e 67 20 5c 60 6e  ogram, using \`n
12720 6d 27 20 6f 72 20 65 71 75 69 76 61 6c 65 6e 74  m' or equivalent
12730 2c 20 62 75 74 20 6c 69 62 74 6f 6f 6c 20 63 6f  , but libtool co
12740 75 6c 64 22 0a 09 20 20 20 20 20 20 65 63 68 6f  uld"..      echo
12750 20 22 2a 2a 2a 20 6e 6f 74 20 66 69 6e 64 20 73   "*** not find s
12760 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2e 20 20  uch a program.  
12770 53 6f 2c 20 74 68 69 73 20 6d 6f 64 75 6c 65 20  So, this module 
12780 69 73 20 70 72 6f 62 61 62 6c 79 20 75 73 65 6c  is probably usel
12790 65 73 73 2e 22 0a 09 20 20 20 20 20 20 65 63 68  ess."..      ech
127a0 6f 20 22 2a 2a 2a 20 5c 60 6e 6d 27 20 66 72 6f  o "*** \`nm' fro
127b0 6d 20 47 4e 55 20 62 69 6e 75 74 69 6c 73 20 61  m GNU binutils a
127c0 6e 64 20 61 20 66 75 6c 6c 20 72 65 62 75 69 6c  nd a full rebuil
127d0 64 20 6d 61 79 20 68 65 6c 70 2e 22 0a 09 20 20  d may help."..  
127e0 20 20 66 69 0a 09 20 20 20 20 69 66 20 74 65 73    fi..    if tes
127f0 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69  t "$build_old_li
12800 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  bs" = no; then..
12810 20 20 20 20 20 20 6f 6c 64 6c 69 62 73 3d 22 24        oldlibs="$
12820 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c  output_objdir/$l
12830 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78 74 22 0a  ibname.$libext".
12840 09 20 20 20 20 20 20 62 75 69 6c 64 5f 6c 69 62  .      build_lib
12850 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c 65  tool_libs=module
12860 0a 09 20 20 20 20 20 20 62 75 69 6c 64 5f 6f 6c  ..      build_ol
12870 64 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 20 20  d_libs=yes..    
12880 65 6c 73 65 0a 09 20 20 20 20 20 20 62 75 69 6c  else..      buil
12890 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e  d_libtool_libs=n
128a0 6f 0a 09 20 20 20 20 66 69 0a 09 20 20 65 6c 73  o..    fi..  els
128b0 65 0a 09 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a  e..    echo "***
128c0 20 54 68 65 20 69 6e 74 65 72 2d 6c 69 62 72 61   The inter-libra
128d0 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20  ry dependencies 
128e0 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 64  that have been d
128f0 72 6f 70 70 65 64 20 68 65 72 65 20 77 69 6c 6c  ropped here will
12900 20 62 65 22 0a 09 20 20 20 20 65 63 68 6f 20 22   be"..    echo "
12910 2a 2a 2a 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  *** automaticall
12920 79 20 61 64 64 65 64 20 77 68 65 6e 65 76 65 72  y added whenever
12930 20 61 20 70 72 6f 67 72 61 6d 20 69 73 20 6c 69   a program is li
12940 6e 6b 65 64 20 77 69 74 68 20 74 68 69 73 20 6c  nked with this l
12950 69 62 72 61 72 79 22 0a 09 20 20 20 20 65 63 68  ibrary"..    ech
12960 6f 20 22 2a 2a 2a 20 6f 72 20 69 73 20 64 65 63  o "*** or is dec
12970 6c 61 72 65 64 20 74 6f 20 2d 64 6c 6f 70 65 6e  lared to -dlopen
12980 20 69 74 2e 22 0a 0a 09 20 20 20 20 69 66 20 74   it."...    if t
12990 65 73 74 20 24 61 6c 6c 6f 77 5f 75 6e 64 65 66  est $allow_undef
129a0 69 6e 65 64 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a  ined = no; then.
129b0 09 20 20 20 20 20 20 65 63 68 6f 0a 09 20 20 20  .      echo..   
129c0 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 53 69 6e     echo "*** Sin
129d0 63 65 20 74 68 69 73 20 6c 69 62 72 61 72 79 20  ce this library 
129e0 6d 75 73 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e  must not contain
129f0 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62 6f   undefined symbo
12a00 6c 73 2c 22 0a 09 20 20 20 20 20 20 65 63 68 6f  ls,"..      echo
12a10 20 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 65 69   "*** because ei
12a20 74 68 65 72 20 74 68 65 20 70 6c 61 74 66 6f 72  ther the platfor
12a30 6d 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f  m does not suppo
12a40 72 74 20 74 68 65 6d 20 6f 72 22 0a 09 20 20 20  rt them or"..   
12a50 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 69 74 20     echo "*** it 
12a60 77 61 73 20 65 78 70 6c 69 63 69 74 6c 79 20 72  was explicitly r
12a70 65 71 75 65 73 74 65 64 20 77 69 74 68 20 2d 6e  equested with -n
12a80 6f 2d 75 6e 64 65 66 69 6e 65 64 2c 22 0a 09 20  o-undefined,".. 
12a90 20 20 20 20 20 65 63 68 6f 20 22 2a 2a 2a 20 6c       echo "*** l
12aa0 69 62 74 6f 6f 6c 20 77 69 6c 6c 20 6f 6e 6c 79  ibtool will only
12ab0 20 63 72 65 61 74 65 20 61 20 73 74 61 74 69 63   create a static
12ac0 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 2e 22   version of it."
12ad0 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
12ae0 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73  "$build_old_libs
12af0 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 6f  " = no; then...o
12b00 6c 64 6c 69 62 73 3d 22 24 6f 75 74 70 75 74 5f  ldlibs="$output_
12b10 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e  objdir/$libname.
12b20 24 6c 69 62 65 78 74 22 0a 09 09 62 75 69 6c 64  $libext"...build
12b30 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f  _libtool_libs=mo
12b40 64 75 6c 65 0a 09 09 62 75 69 6c 64 5f 6f 6c 64  dule...build_old
12b50 5f 6c 69 62 73 3d 79 65 73 0a 09 20 20 20 20 20  _libs=yes..     
12b60 20 65 6c 73 65 0a 09 09 62 75 69 6c 64 5f 6c 69   else...build_li
12b70 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20  btool_libs=no.. 
12b80 20 20 20 20 20 66 69 0a 09 20 20 20 20 66 69 0a       fi..    fi.
12b90 09 20 20 66 69 0a 09 66 69 0a 09 23 20 44 6f 6e  .  fi..fi..# Don
12ba0 65 20 63 68 65 63 6b 69 6e 67 20 64 65 70 6c 69  e checking depli
12bb0 62 73 21 0a 09 64 65 70 6c 69 62 73 3d 24 6e 65  bs!..deplibs=$ne
12bc0 77 64 65 70 6c 69 62 73 0a 20 20 20 20 20 20 66  wdeplibs.      f
12bd0 69 0a 0a 20 20 20 20 20 20 23 20 41 6c 6c 20 74  i..      # All t
12be0 68 65 20 6c 69 62 72 61 72 79 2d 73 70 65 63 69  he library-speci
12bf0 66 69 63 20 76 61 72 69 61 62 6c 65 73 20 28 69  fic variables (i
12c00 6e 73 74 61 6c 6c 5f 6c 69 62 64 69 72 20 69 73  nstall_libdir is
12c10 20 73 65 74 20 61 62 6f 76 65 29 2e 0a 20 20 20   set above)..   
12c20 20 20 20 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73     library_names
12c30 3d 0a 20 20 20 20 20 20 6f 6c 64 5f 6c 69 62 72  =.      old_libr
12c40 61 72 79 3d 0a 20 20 20 20 20 20 64 6c 6e 61 6d  ary=.      dlnam
12c50 65 3d 0a 0a 20 20 20 20 20 20 23 20 54 65 73 74  e=..      # Test
12c60 20 61 67 61 69 6e 2c 20 77 65 20 6d 61 79 20 68   again, we may h
12c70 61 76 65 20 64 65 63 69 64 65 64 20 6e 6f 74 20  ave decided not 
12c80 74 6f 20 62 75 69 6c 64 20 69 74 20 61 6e 79 20  to build it any 
12c90 6d 6f 72 65 0a 20 20 20 20 20 20 69 66 20 74 65  more.      if te
12ca0 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
12cb0 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ol_libs" = yes; 
12cc0 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 24 68  then..if test $h
12cd0 61 72 64 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62  ardcode_into_lib
12ce0 73 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  s = yes; then.. 
12cf0 20 23 20 48 61 72 64 63 6f 64 65 20 74 68 65 20   # Hardcode the 
12d00 6c 69 62 72 61 72 79 20 70 61 74 68 73 0a 09 20  library paths.. 
12d10 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72   hardcode_libdir
12d20 73 3d 0a 09 20 20 64 65 70 5f 72 70 61 74 68 3d  s=..  dep_rpath=
12d30 0a 09 20 20 72 70 61 74 68 3d 22 24 66 69 6e 61  ..  rpath="$fina
12d40 6c 69 7a 65 5f 72 70 61 74 68 22 0a 09 20 20 74  lize_rpath"..  t
12d50 65 73 74 20 22 24 6d 6f 64 65 22 20 21 3d 20 72  est "$mode" != r
12d60 65 6c 69 6e 6b 20 26 26 20 72 70 61 74 68 3d 22  elink && rpath="
12d70 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 24 72  $compile_rpath$r
12d80 70 61 74 68 22 0a 09 20 20 66 6f 72 20 6c 69 62  path"..  for lib
12d90 64 69 72 20 69 6e 20 24 72 70 61 74 68 3b 20 64  dir in $rpath; d
12da0 6f 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  o..    if test -
12db0 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  n "$hardcode_lib
12dc0 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20  dir_flag_spec"; 
12dd0 74 68 65 6e 0a 09 20 20 20 20 20 20 69 66 20 74  then..      if t
12de0 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64  est -n "$hardcod
12df0 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
12e00 6f 72 22 3b 20 74 68 65 6e 0a 09 09 69 66 20 74  or"; then...if t
12e10 65 73 74 20 2d 7a 20 22 24 68 61 72 64 63 6f 64  est -z "$hardcod
12e20 65 5f 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e  e_libdirs"; then
12e30 0a 09 09 20 20 68 61 72 64 63 6f 64 65 5f 6c 69  ...  hardcode_li
12e40 62 64 69 72 73 3d 22 24 6c 69 62 64 69 72 22 0a  bdirs="$libdir".
12e50 09 09 65 6c 73 65 0a 09 09 20 20 23 20 4a 75 73  ..else...  # Jus
12e60 74 20 61 63 63 75 6d 75 6c 61 74 65 20 74 68 65  t accumulate the
12e70 20 75 6e 69 71 75 65 20 6c 69 62 64 69 72 73 2e   unique libdirs.
12e80 0a 09 09 20 20 63 61 73 65 20 24 68 61 72 64 63  ...  case $hardc
12e90 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
12ea0 61 74 6f 72 24 68 61 72 64 63 6f 64 65 5f 6c 69  ator$hardcode_li
12eb0 62 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f 6c  bdirs$hardcode_l
12ec0 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 20  ibdir_separator 
12ed0 69 6e 0a 09 09 20 20 2a 22 24 68 61 72 64 63 6f  in...  *"$hardco
12ee0 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
12ef0 74 6f 72 24 6c 69 62 64 69 72 24 68 61 72 64 63  tor$libdir$hardc
12f00 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
12f10 61 74 6f 72 22 2a 29 0a 09 09 20 20 20 20 3b 3b  ator"*)...    ;;
12f20 0a 09 09 20 20 2a 29 0a 09 09 20 20 20 20 68 61  ...  *)...    ha
12f30 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22  rdcode_libdirs="
12f40 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
12f50 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  s$hardcode_libdi
12f60 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62 64  r_separator$libd
12f70 69 72 22 0a 09 09 20 20 20 20 3b 3b 0a 09 09 20  ir"...    ;;... 
12f80 20 65 73 61 63 0a 09 09 66 69 0a 09 20 20 20 20   esac...fi..    
12f90 20 20 65 6c 73 65 0a 09 09 65 76 61 6c 20 66 6c    else...eval fl
12fa0 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c  ag=\"$hardcode_l
12fb0 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c  ibdir_flag_spec\
12fc0 22 0a 09 09 64 65 70 5f 72 70 61 74 68 3d 22 24  "...dep_rpath="$
12fd0 64 65 70 5f 72 70 61 74 68 20 24 66 6c 61 67 22  dep_rpath $flag"
12fe0 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
12ff0 65 6c 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72  elif test -n "$r
13000 75 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65  unpath_var"; the
13010 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24  n..      case "$
13020 70 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a  perm_rpath " in.
13030 09 20 20 20 20 20 20 2a 22 20 24 6c 69 62 64 69  .      *" $libdi
13040 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20  r "*) ;;..      
13050 2a 29 20 70 65 72 6d 5f 72 70 61 74 68 3d 22 24  *) perm_rpath="$
13060 70 65 72 6d 5f 72 70 61 74 68 20 24 6c 69 62 64  perm_rpath $libd
13070 69 72 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73  ir" ;;..      es
13080 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f  ac..    fi..  do
13090 6e 65 0a 09 20 20 23 20 53 75 62 73 74 69 74 75  ne..  # Substitu
130a0 74 65 20 74 68 65 20 68 61 72 64 63 6f 64 65 64  te the hardcoded
130b0 20 6c 69 62 64 69 72 73 20 69 6e 74 6f 20 74 68   libdirs into th
130c0 65 20 72 70 61 74 68 2e 0a 09 20 20 69 66 20 74  e rpath...  if t
130d0 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64  est -n "$hardcod
130e0 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
130f0 6f 72 22 20 26 26 0a 09 20 20 20 20 20 74 65 73  or" &&..     tes
13100 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f  t -n "$hardcode_
13110 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09  libdirs"; then..
13120 20 20 20 20 6c 69 62 64 69 72 3d 22 24 68 61 72      libdir="$har
13130 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 0a 09  dcode_libdirs"..
13140 20 20 20 20 65 76 61 6c 20 64 65 70 5f 72 70 61      eval dep_rpa
13150 74 68 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c  th=\"$hardcode_l
13160 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c  ibdir_flag_spec\
13170 22 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74 65  "..  fi..  if te
13180 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68 5f  st -n "$runpath_
13190 76 61 72 22 20 26 26 20 74 65 73 74 20 2d 6e 20  var" && test -n 
131a0 22 24 70 65 72 6d 5f 72 70 61 74 68 22 3b 20 74  "$perm_rpath"; t
131b0 68 65 6e 0a 09 20 20 20 20 23 20 57 65 20 73 68  hen..    # We sh
131c0 6f 75 6c 64 20 73 65 74 20 74 68 65 20 72 75 6e  ould set the run
131d0 70 61 74 68 5f 76 61 72 2e 0a 09 20 20 20 20 72  path_var...    r
131e0 70 61 74 68 3d 0a 09 20 20 20 20 66 6f 72 20 64  path=..    for d
131f0 69 72 20 69 6e 20 24 70 65 72 6d 5f 72 70 61 74  ir in $perm_rpat
13200 68 3b 20 64 6f 0a 09 20 20 20 20 20 20 72 70 61  h; do..      rpa
13210 74 68 3d 22 24 72 70 61 74 68 24 64 69 72 3a 22  th="$rpath$dir:"
13220 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20  ..    done..    
13230 65 76 61 6c 20 22 24 72 75 6e 70 61 74 68 5f 76  eval "$runpath_v
13240 61 72 3d 27 24 72 70 61 74 68 5c 24 24 72 75 6e  ar='$rpath\$$run
13250 70 61 74 68 5f 76 61 72 27 3b 20 65 78 70 6f 72  path_var'; expor
13260 74 20 24 72 75 6e 70 61 74 68 5f 76 61 72 22 0a  t $runpath_var".
13270 09 20 20 66 69 0a 09 20 20 74 65 73 74 20 2d 6e  .  fi..  test -n
13280 20 22 24 64 65 70 5f 72 70 61 74 68 22 20 26 26   "$dep_rpath" &&
13290 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 5f 72   deplibs="$dep_r
132a0 70 61 74 68 20 24 64 65 70 6c 69 62 73 22 0a 09  path $deplibs"..
132b0 66 69 0a 0a 09 73 68 6c 69 62 70 61 74 68 3d 22  fi...shlibpath="
132c0 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70  $finalize_shlibp
132d0 61 74 68 22 0a 09 74 65 73 74 20 22 24 6d 6f 64  ath"..test "$mod
132e0 65 22 20 21 3d 20 72 65 6c 69 6e 6b 20 26 26 20  e" != relink && 
132f0 73 68 6c 69 62 70 61 74 68 3d 22 24 63 6f 6d 70  shlibpath="$comp
13300 69 6c 65 5f 73 68 6c 69 62 70 61 74 68 24 73 68  ile_shlibpath$sh
13310 6c 69 62 70 61 74 68 22 0a 09 69 66 20 74 65 73  libpath"..if tes
13320 74 20 2d 6e 20 22 24 73 68 6c 69 62 70 61 74 68  t -n "$shlibpath
13330 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c 20  "; then..  eval 
13340 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 3d  "$shlibpath_var=
13350 27 24 73 68 6c 69 62 70 61 74 68 5c 24 24 73 68  '$shlibpath\$$sh
13360 6c 69 62 70 61 74 68 5f 76 61 72 27 3b 20 65 78  libpath_var'; ex
13370 70 6f 72 74 20 24 73 68 6c 69 62 70 61 74 68 5f  port $shlibpath_
13380 76 61 72 22 0a 09 66 69 0a 0a 09 23 20 47 65 74  var"..fi...# Get
13390 20 74 68 65 20 72 65 61 6c 20 61 6e 64 20 6c 69   the real and li
133a0 6e 6b 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 20  nk names of the 
133b0 6c 69 62 72 61 72 79 2e 0a 09 65 76 61 6c 20 6c  library...eval l
133c0 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d 5c 22 24  ibrary_names=\"$
133d0 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 5f 73 70  library_names_sp
133e0 65 63 5c 22 0a 09 73 65 74 20 64 75 6d 6d 79 20  ec\"..set dummy 
133f0 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 0a 09  $library_names..
13400 72 65 61 6c 6e 61 6d 65 3d 22 24 32 22 0a 09 73  realname="$2"..s
13410 68 69 66 74 3b 20 73 68 69 66 74 0a 0a 09 69 66  hift; shift...if
13420 20 74 65 73 74 20 2d 6e 20 22 24 73 6f 6e 61 6d   test -n "$sonam
13430 65 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20  e_spec"; then.. 
13440 20 65 76 61 6c 20 73 6f 6e 61 6d 65 3d 5c 22 24   eval soname=\"$
13450 73 6f 6e 61 6d 65 5f 73 70 65 63 5c 22 0a 09 65  soname_spec\"..e
13460 6c 73 65 0a 09 20 20 73 6f 6e 61 6d 65 3d 22 24  lse..  soname="$
13470 72 65 61 6c 6e 61 6d 65 22 0a 09 66 69 0a 09 74  realname"..fi..t
13480 65 73 74 20 2d 7a 20 22 24 64 6c 6e 61 6d 65 22  est -z "$dlname"
13490 20 26 26 20 64 6c 6e 61 6d 65 3d 24 73 6f 6e 61   && dlname=$sona
134a0 6d 65 0a 0a 09 6c 69 62 3d 22 24 6f 75 74 70 75  me...lib="$outpu
134b0 74 5f 6f 62 6a 64 69 72 2f 24 72 65 61 6c 6e 61  t_objdir/$realna
134c0 6d 65 22 0a 09 66 6f 72 20 6c 69 6e 6b 0a 09 64  me"..for link..d
134d0 6f 0a 09 20 20 6c 69 6e 6b 6e 61 6d 65 73 3d 22  o..  linknames="
134e0 24 6c 69 6e 6b 6e 61 6d 65 73 20 24 6c 69 6e 6b  $linknames $link
134f0 22 0a 09 64 6f 6e 65 0a 0a 09 23 20 45 6e 73 75  "..done...# Ensu
13500 72 65 20 74 68 61 74 20 77 65 20 68 61 76 65 20  re that we have 
13510 2e 6f 20 6f 62 6a 65 63 74 73 20 66 6f 72 20 6c  .o objects for l
13520 69 6e 6b 65 72 73 20 77 68 69 63 68 20 64 69 73  inkers which dis
13530 6c 69 6b 65 20 2e 6c 6f 0a 09 23 20 28 65 2e 67  like .lo..# (e.g
13540 2e 20 61 69 78 29 20 69 6e 20 63 61 73 65 20 77  . aix) in case w
13550 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 2d 2d  e are running --
13560 64 69 73 61 62 6c 65 2d 73 74 61 74 69 63 0a 09  disable-static..
13570 66 6f 72 20 6f 62 6a 20 69 6e 20 24 6c 69 62 6f  for obj in $libo
13580 62 6a 73 3b 20 64 6f 0a 09 20 20 78 64 69 72 3d  bjs; do..  xdir=
13590 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 22 20 7c  `$echo "X$obj" |
135a0 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e   $Xsed -e 's%/[^
135b0 2f 5d 2a 24 25 25 27 60 0a 09 20 20 69 66 20 74  /]*$%%'`..  if t
135c0 65 73 74 20 22 58 24 78 64 69 72 22 20 3d 20 22  est "X$xdir" = "
135d0 58 24 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 20 20  X$obj"; then..  
135e0 20 20 78 64 69 72 3d 22 2e 22 0a 09 20 20 65 6c    xdir="."..  el
135f0 73 65 0a 09 20 20 20 20 78 64 69 72 3d 22 24 78  se..    xdir="$x
13600 64 69 72 22 0a 09 20 20 66 69 0a 09 20 20 62 61  dir"..  fi..  ba
13610 73 65 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24  seobj=`$echo "X$
13620 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20  obj" | $Xsed -e 
13630 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 6f  's%^.*/%%'`..  o
13640 6c 64 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24  ldobj=`$echo "X$
13650 62 61 73 65 6f 62 6a 22 20 7c 20 24 58 73 65 64  baseobj" | $Xsed
13660 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20   -e "$lo2o"`..  
13670 69 66 20 74 65 73 74 20 21 20 2d 66 20 24 78 64  if test ! -f $xd
13680 69 72 2f 24 6f 6c 64 6f 62 6a 3b 20 74 68 65 6e  ir/$oldobj; then
13690 0a 09 20 20 20 20 24 73 68 6f 77 20 22 28 63 64  ..    $show "(cd
136a0 20 24 78 64 69 72 20 26 26 20 24 7b 4c 4e 5f 53   $xdir && ${LN_S
136b0 7d 20 24 62 61 73 65 6f 62 6a 20 24 6f 6c 64 6f  } $baseobj $oldo
136c0 62 6a 29 22 0a 09 20 20 20 20 24 72 75 6e 20 65  bj)"..    $run e
136d0 76 61 6c 20 27 28 63 64 20 24 78 64 69 72 20 26  val '(cd $xdir &
136e0 26 20 24 7b 4c 4e 5f 53 7d 20 24 62 61 73 65 6f  & ${LN_S} $baseo
136f0 62 6a 20 24 6f 6c 64 6f 62 6a 29 27 20 7c 7c 20  bj $oldobj)' || 
13700 65 78 69 74 20 24 3f 0a 09 20 20 66 69 0a 09 64  exit $?..  fi..d
13710 6f 6e 65 0a 0a 09 23 20 55 73 65 20 73 74 61 6e  one...# Use stan
13720 64 61 72 64 20 6f 62 6a 65 63 74 73 20 69 66 20  dard objects if 
13730 74 68 65 79 20 61 72 65 20 70 69 63 0a 09 74 65  they are pic..te
13740 73 74 20 2d 7a 20 22 24 70 69 63 5f 66 6c 61 67  st -z "$pic_flag
13750 22 20 26 26 20 6c 69 62 6f 62 6a 73 3d 60 24 65  " && libobjs=`$e
13760 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22 20  cho "X$libobjs" 
13770 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64  | $SP2NL | $Xsed
13780 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e   -e "$lo2o" | $N
13790 4c 32 53 50 60 0a 0a 09 23 20 50 72 65 70 61 72  L2SP`...# Prepar
137a0 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 65 78  e the list of ex
137b0 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 0a 09  ported symbols..
137c0 69 66 20 74 65 73 74 20 2d 7a 20 22 24 65 78 70  if test -z "$exp
137d0 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 3b 20 74 68  ort_symbols"; th
137e0 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22 24  en..  if test "$
137f0 61 6c 77 61 79 73 5f 65 78 70 6f 72 74 5f 73 79  always_export_sy
13800 6d 62 6f 6c 73 22 20 3d 20 79 65 73 20 7c 7c 20  mbols" = yes || 
13810 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74  test -n "$export
13820 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b  _symbols_regex";
13830 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77   then..    $show
13840 20 22 67 65 6e 65 72 61 74 69 6e 67 20 73 79 6d   "generating sym
13850 62 6f 6c 20 6c 69 73 74 20 66 6f 72 20 5c 60 24  bol list for \`$
13860 6c 69 62 6e 61 6d 65 2e 6c 61 27 22 0a 09 20 20  libname.la'"..  
13870 20 20 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73    export_symbols
13880 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  ="$output_objdir
13890 2f 24 6c 69 62 6e 61 6d 65 2e 65 78 70 22 0a 09  /$libname.exp"..
138a0 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24 65 78      $run $rm $ex
138b0 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09 20 20  port_symbols..  
138c0 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24 65    eval cmds=\"$e
138d0 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 63 6d  xport_symbols_cm
138e0 64 73 5c 22 0a 09 20 20 20 20 73 61 76 65 5f 69  ds\"..    save_i
138f0 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
13900 7e 27 0a 09 20 20 20 20 66 6f 72 20 63 6d 64 20  ~'..    for cmd 
13910 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20  in $cmds; do..  
13920 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69      IFS="$save_i
13930 66 73 22 0a 09 20 20 20 20 20 20 24 73 68 6f 77  fs"..      $show
13940 20 22 24 63 6d 64 22 0a 09 20 20 20 20 20 20 24   "$cmd"..      $
13950 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20  run eval "$cmd" 
13960 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20  || exit $?..    
13970 64 6f 6e 65 0a 09 20 20 20 20 49 46 53 3d 22 24  done..    IFS="$
13980 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 69  save_ifs"..    i
13990 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f  f test -n "$expo
139a0 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
139b0 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24  "; then..      $
139c0 73 68 6f 77 20 22 65 67 72 65 70 20 2d 65 20 5c  show "egrep -e \
139d0 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
139e0 5f 72 65 67 65 78 5c 22 20 5c 22 24 65 78 70 6f  _regex\" \"$expo
139f0 72 74 5f 73 79 6d 62 6f 6c 73 5c 22 20 3e 20 5c  rt_symbols\" > \
13a00 22 24 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c  "${export_symbol
13a10 73 7d 54 5c 22 22 0a 09 20 20 20 20 20 20 24 72  s}T\""..      $r
13a20 75 6e 20 65 76 61 6c 20 27 65 67 72 65 70 20 2d  un eval 'egrep -
13a30 65 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f  e "$export_symbo
13a40 6c 73 5f 72 65 67 65 78 22 20 22 24 65 78 70 6f  ls_regex" "$expo
13a50 72 74 5f 73 79 6d 62 6f 6c 73 22 20 3e 20 22 24  rt_symbols" > "$
13a60 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 7d  {export_symbols}
13a70 54 22 27 0a 09 20 20 20 20 20 20 24 73 68 6f 77  T"'..      $show
13a80 20 22 24 6d 76 20 5c 22 24 7b 65 78 70 6f 72 74   "$mv \"${export
13a90 5f 73 79 6d 62 6f 6c 73 7d 54 5c 22 20 5c 22 24  _symbols}T\" \"$
13aa0 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5c 22  export_symbols\"
13ab0 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76  "..      $run ev
13ac0 61 6c 20 27 24 6d 76 20 22 24 7b 65 78 70 6f 72  al '$mv "${expor
13ad0 74 5f 73 79 6d 62 6f 6c 73 7d 54 22 20 22 24 65  t_symbols}T" "$e
13ae0 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 27 0a  xport_symbols"'.
13af0 09 20 20 20 20 66 69 0a 09 20 20 66 69 0a 09 66  .    fi..  fi..f
13b00 69 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22  i...if test -n "
13b10 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22  $export_symbols"
13b20 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 69 6e   && test -n "$in
13b30 63 6c 75 64 65 5f 65 78 70 73 79 6d 73 22 3b 20  clude_expsyms"; 
13b40 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65 76 61  then..  $run eva
13b50 6c 20 27 24 65 63 68 6f 20 22 58 24 69 6e 63 6c  l '$echo "X$incl
13b60 75 64 65 5f 65 78 70 73 79 6d 73 22 20 7c 20 24  ude_expsyms" | $
13b70 53 50 32 4e 4c 20 3e 3e 20 22 24 65 78 70 6f 72  SP2NL >> "$expor
13b80 74 5f 73 79 6d 62 6f 6c 73 22 27 0a 09 66 69 0a  t_symbols"'..fi.
13b90 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 63  ..if test -n "$c
13ba0 6f 6e 76 65 6e 69 65 6e 63 65 22 3b 20 74 68 65  onvenience"; the
13bb0 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20  n..  if test -n 
13bc0 22 24 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f  "$whole_archive_
13bd0 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e  flag_spec"; then
13be0 0a 09 20 20 20 20 65 76 61 6c 20 6c 69 62 6f 62  ..    eval libob
13bf0 6a 73 3d 5c 22 5c 24 6c 69 62 6f 62 6a 73 20 24  js=\"\$libobjs $
13c00 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66 6c  whole_archive_fl
13c10 61 67 5f 73 70 65 63 5c 22 0a 09 20 20 65 6c 73  ag_spec\"..  els
13c20 65 0a 09 20 20 20 20 67 65 6e 74 6f 70 3d 22 24  e..    gentop="$
13c30 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b  output_objdir/${
13c40 6f 75 74 70 75 74 6e 61 6d 65 7d 78 22 0a 09 20  outputname}x".. 
13c50 20 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72     $show "${rm}r
13c60 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 20 20 24   $gentop"..    $
13c70 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24 67 65 6e  run ${rm}r "$gen
13c80 74 6f 70 22 0a 09 20 20 20 20 24 73 68 6f 77 20  top"..    $show 
13c90 22 6d 6b 64 69 72 20 24 67 65 6e 74 6f 70 22 0a  "mkdir $gentop".
13ca0 09 20 20 20 20 24 72 75 6e 20 6d 6b 64 69 72 20  .    $run mkdir 
13cb0 22 24 67 65 6e 74 6f 70 22 0a 09 20 20 20 20 73  "$gentop"..    s
13cc0 74 61 74 75 73 3d 24 3f 0a 09 20 20 20 20 69 66  tatus=$?..    if
13cd0 20 74 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e   test $status -n
13ce0 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64  e 0 && test ! -d
13cf0 20 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e   "$gentop"; then
13d00 0a 09 20 20 20 20 20 20 65 78 69 74 20 24 73 74  ..      exit $st
13d10 61 74 75 73 0a 09 20 20 20 20 66 69 0a 09 20 20  atus..    fi..  
13d20 20 20 67 65 6e 65 72 61 74 65 64 3d 22 24 67 65    generated="$ge
13d30 6e 65 72 61 74 65 64 20 24 67 65 6e 74 6f 70 22  nerated $gentop"
13d40 0a 0a 09 20 20 20 20 66 6f 72 20 78 6c 69 62 20  ...    for xlib 
13d50 69 6e 20 24 63 6f 6e 76 65 6e 69 65 6e 63 65 3b  in $convenience;
13d60 20 64 6f 0a 09 20 20 20 20 20 20 23 20 45 78 74   do..      # Ext
13d70 72 61 63 74 20 74 68 65 20 6f 62 6a 65 63 74 73  ract the objects
13d80 2e 0a 09 20 20 20 20 20 20 63 61 73 65 20 24 78  ...      case $x
13d90 6c 69 62 20 69 6e 0a 09 20 20 20 20 20 20 5b 5c  lib in..      [\
13da0 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a  \/]* | [A-Za-z]:
13db0 5b 5c 5c 2f 5d 2a 29 20 78 61 62 73 3d 22 24 78  [\\/]*) xabs="$x
13dc0 6c 69 62 22 20 3b 3b 0a 09 20 20 20 20 20 20 2a  lib" ;;..      *
13dd0 29 20 78 61 62 73 3d 60 70 77 64 60 22 2f 24 78  ) xabs=`pwd`"/$x
13de0 6c 69 62 22 20 3b 3b 0a 09 20 20 20 20 20 20 65  lib" ;;..      e
13df0 73 61 63 0a 09 20 20 20 20 20 20 78 6c 69 62 3d  sac..      xlib=
13e00 60 24 65 63 68 6f 20 22 58 24 78 6c 69 62 22 20  `$echo "X$xlib" 
13e10 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
13e20 2a 2f 25 25 27 60 0a 09 20 20 20 20 20 20 78 64  */%%'`..      xd
13e30 69 72 3d 22 24 67 65 6e 74 6f 70 2f 24 78 6c 69  ir="$gentop/$xli
13e40 62 22 0a 0a 09 20 20 20 20 20 20 24 73 68 6f 77  b"...      $show
13e50 20 22 24 7b 72 6d 7d 72 20 24 78 64 69 72 22 0a   "${rm}r $xdir".
13e60 09 20 20 20 20 20 20 24 72 75 6e 20 24 7b 72 6d  .      $run ${rm
13e70 7d 72 20 22 24 78 64 69 72 22 0a 09 20 20 20 20  }r "$xdir"..    
13e80 20 20 24 73 68 6f 77 20 22 6d 6b 64 69 72 20 24    $show "mkdir $
13e90 78 64 69 72 22 0a 09 20 20 20 20 20 20 24 72 75  xdir"..      $ru
13ea0 6e 20 6d 6b 64 69 72 20 22 24 78 64 69 72 22 0a  n mkdir "$xdir".
13eb0 09 20 20 20 20 20 20 73 74 61 74 75 73 3d 24 3f  .      status=$?
13ec0 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
13ed0 24 73 74 61 74 75 73 20 2d 6e 65 20 30 20 26 26  $status -ne 0 &&
13ee0 20 74 65 73 74 20 21 20 2d 64 20 22 24 78 64 69   test ! -d "$xdi
13ef0 72 22 3b 20 74 68 65 6e 0a 09 09 65 78 69 74 20  r"; then...exit 
13f00 24 73 74 61 74 75 73 0a 09 20 20 20 20 20 20 66  $status..      f
13f10 69 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22  i..      $show "
13f20 28 63 64 20 24 78 64 69 72 20 26 26 20 24 41 52  (cd $xdir && $AR
13f30 20 78 20 24 78 61 62 73 29 22 0a 09 20 20 20 20   x $xabs)"..    
13f40 20 20 24 72 75 6e 20 65 76 61 6c 20 22 28 63 64    $run eval "(cd
13f50 20 5c 24 78 64 69 72 20 26 26 20 24 41 52 20 78   \$xdir && $AR x
13f60 20 5c 24 78 61 62 73 29 22 20 7c 7c 20 65 78 69   \$xabs)" || exi
13f70 74 20 24 3f 0a 0a 09 20 20 20 20 20 20 6c 69 62  t $?...      lib
13f80 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20 22  objs="$libobjs "
13f90 60 66 69 6e 64 20 24 78 64 69 72 20 2d 6e 61 6d  `find $xdir -nam
13fa0 65 20 5c 2a 2e 6f 20 2d 70 72 69 6e 74 20 2d 6f  e \*.o -print -o
13fb0 20 2d 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72   -name \*.lo -pr
13fc0 69 6e 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20  int | $NL2SP`.. 
13fd0 20 20 20 64 6f 6e 65 0a 09 20 20 66 69 0a 09 66     done..  fi..f
13fe0 69 0a 0a 09 69 66 20 74 65 73 74 20 22 24 74 68  i...if test "$th
13ff0 72 65 61 64 5f 73 61 66 65 22 20 3d 20 79 65 73  read_safe" = yes
14000 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 74 68   && test -n "$th
14010 72 65 61 64 5f 73 61 66 65 5f 66 6c 61 67 5f 73  read_safe_flag_s
14020 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 65 76  pec"; then..  ev
14030 61 6c 20 66 6c 61 67 3d 5c 22 24 74 68 72 65 61  al flag=\"$threa
14040 64 5f 73 61 66 65 5f 66 6c 61 67 5f 73 70 65 63  d_safe_flag_spec
14050 5c 22 0a 09 20 20 6c 69 6e 6b 65 72 5f 66 6c 61  \"..  linker_fla
14060 67 73 3d 22 24 6c 69 6e 6b 65 72 5f 66 6c 61 67  gs="$linker_flag
14070 73 20 24 66 6c 61 67 22 0a 09 66 69 0a 0a 09 23  s $flag"..fi...#
14080 20 4d 61 6b 65 20 61 20 62 61 63 6b 75 70 20 6f   Make a backup o
14090 66 20 74 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65  f the uninstalle
140a0 64 20 6c 69 62 72 61 72 79 20 77 68 65 6e 20 72  d library when r
140b0 65 6c 69 6e 6b 69 6e 67 0a 09 69 66 20 74 65 73  elinking..if tes
140c0 74 20 22 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69  t "$mode" = reli
140d0 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 24 72 75 6e  nk; then..  $run
140e0 20 65 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70   eval '(cd $outp
140f0 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d  ut_objdir && $rm
14100 20 24 7b 72 65 61 6c 6e 61 6d 65 7d 55 20 26 26   ${realname}U &&
14110 20 24 6d 76 20 24 72 65 61 6c 6e 61 6d 65 20 24   $mv $realname $
14120 7b 72 65 61 6c 6e 61 6d 65 7d 55 29 27 20 7c 7c  {realname}U)' ||
14130 20 65 78 69 74 20 24 3f 0a 09 66 69 0a 0a 09 23   exit $?..fi...#
14140 20 44 6f 20 65 61 63 68 20 6f 66 20 74 68 65 20   Do each of the 
14150 61 72 63 68 69 76 65 20 63 6f 6d 6d 61 6e 64 73  archive commands
14160 2e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24  ...if test -n "$
14170 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20  export_symbols" 
14180 26 26 20 74 65 73 74 20 2d 6e 20 22 24 61 72 63  && test -n "$arc
14190 68 69 76 65 5f 65 78 70 73 79 6d 5f 63 6d 64 73  hive_expsym_cmds
141a0 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c 20  "; then..  eval 
141b0 63 6d 64 73 3d 5c 22 24 61 72 63 68 69 76 65 5f  cmds=\"$archive_
141c0 65 78 70 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 65  expsym_cmds\"..e
141d0 6c 73 65 0a 09 20 20 73 61 76 65 5f 64 65 70 6c  lse..  save_depl
141e0 69 62 73 3d 22 24 64 65 70 6c 69 62 73 22 0a 09  ibs="$deplibs"..
141f0 20 20 66 6f 72 20 63 6f 6e 76 20 69 6e 20 24 63    for conv in $c
14200 6f 6e 76 65 6e 69 65 6e 63 65 3b 20 64 6f 0a 09  onvenience; do..
14210 20 20 20 20 74 6d 70 5f 64 65 70 6c 69 62 73 3d      tmp_deplibs=
14220 0a 09 20 20 20 20 66 6f 72 20 74 65 73 74 5f 64  ..    for test_d
14230 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69 62  eplib in $deplib
14240 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 69 66 20  s; do..      if 
14250 74 65 73 74 20 22 24 74 65 73 74 5f 64 65 70 6c  test "$test_depl
14260 69 62 22 20 21 3d 20 22 24 63 6f 6e 76 22 3b 20  ib" != "$conv"; 
14270 74 68 65 6e 0a 09 09 74 6d 70 5f 64 65 70 6c 69  then...tmp_depli
14280 62 73 3d 22 24 74 6d 70 5f 64 65 70 6c 69 62 73  bs="$tmp_deplibs
14290 20 24 74 65 73 74 5f 64 65 70 6c 69 62 22 0a 09   $test_deplib"..
142a0 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 64 6f        fi..    do
142b0 6e 65 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d  ne..    deplibs=
142c0 22 24 74 6d 70 5f 64 65 70 6c 69 62 73 22 0a 09  "$tmp_deplibs"..
142d0 20 20 64 6f 6e 65 0a 09 20 20 65 76 61 6c 20 63    done..  eval c
142e0 6d 64 73 3d 5c 22 24 61 72 63 68 69 76 65 5f 63  mds=\"$archive_c
142f0 6d 64 73 5c 22 0a 09 20 20 64 65 70 6c 69 62 73  mds\"..  deplibs
14300 3d 22 24 73 61 76 65 5f 64 65 70 6c 69 62 73 22  ="$save_deplibs"
14310 0a 09 66 69 0a 09 73 61 76 65 5f 69 66 73 3d 22  ..fi..save_ifs="
14320 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09  $IFS"; IFS='~'..
14330 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64 73  for cmd in $cmds
14340 3b 20 64 6f 0a 09 20 20 49 46 53 3d 22 24 73 61  ; do..  IFS="$sa
14350 76 65 5f 69 66 73 22 0a 09 20 20 24 73 68 6f 77  ve_ifs"..  $show
14360 20 22 24 63 6d 64 22 0a 09 20 20 24 72 75 6e 20   "$cmd"..  $run 
14370 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65  eval "$cmd" || e
14380 78 69 74 20 24 3f 0a 09 64 6f 6e 65 0a 09 49 46  xit $?..done..IF
14390 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 0a 09  S="$save_ifs"...
143a0 23 20 52 65 73 74 6f 72 65 20 74 68 65 20 75 6e  # Restore the un
143b0 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72  installed librar
143c0 79 20 61 6e 64 20 65 78 69 74 0a 09 69 66 20 74  y and exit..if t
143d0 65 73 74 20 22 24 6d 6f 64 65 22 20 3d 20 72 65  est "$mode" = re
143e0 6c 69 6e 6b 3b 20 74 68 65 6e 0a 09 20 20 24 72  link; then..  $r
143f0 75 6e 20 65 76 61 6c 20 27 28 63 64 20 24 6f 75  un eval '(cd $ou
14400 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24  tput_objdir && $
14410 72 6d 20 24 7b 72 65 61 6c 6e 61 6d 65 7d 54 20  rm ${realname}T 
14420 26 26 20 24 6d 76 20 24 72 65 61 6c 6e 61 6d 65  && $mv $realname
14430 20 24 7b 72 65 61 6c 6e 61 6d 65 7d 54 20 26 26   ${realname}T &&
14440 20 24 6d 76 20 22 24 72 65 61 6c 6e 61 6d 65 22   $mv "$realname"
14450 55 20 24 72 65 61 6c 6e 61 6d 65 29 27 20 7c 7c  U $realname)' ||
14460 20 65 78 69 74 20 24 3f 0a 09 20 20 65 78 69 74   exit $?..  exit
14470 20 30 0a 09 66 69 0a 0a 09 23 20 43 72 65 61 74   0..fi...# Creat
14480 65 20 6c 69 6e 6b 73 20 74 6f 20 74 68 65 20 72  e links to the r
14490 65 61 6c 20 6c 69 62 72 61 72 79 2e 0a 09 66 6f  eal library...fo
144a0 72 20 6c 69 6e 6b 6e 61 6d 65 20 69 6e 20 24 6c  r linkname in $l
144b0 69 6e 6b 6e 61 6d 65 73 3b 20 64 6f 0a 09 20 20  inknames; do..  
144c0 69 66 20 74 65 73 74 20 22 24 72 65 61 6c 6e 61  if test "$realna
144d0 6d 65 22 20 21 3d 20 22 24 6c 69 6e 6b 6e 61 6d  me" != "$linknam
144e0 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 73  e"; then..    $s
144f0 68 6f 77 20 22 28 63 64 20 24 6f 75 74 70 75 74  how "(cd $output
14500 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24  _objdir && $rm $
14510 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c 4e 5f  linkname && $LN_
14520 53 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c 69 6e  S $realname $lin
14530 6b 6e 61 6d 65 29 22 0a 09 20 20 20 20 24 72 75  kname)"..    $ru
14540 6e 20 65 76 61 6c 20 27 28 63 64 20 24 6f 75 74  n eval '(cd $out
14550 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72  put_objdir && $r
14560 6d 20 24 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24  m $linkname && $
14570 4c 4e 5f 53 20 24 72 65 61 6c 6e 61 6d 65 20 24  LN_S $realname $
14580 6c 69 6e 6b 6e 61 6d 65 29 27 20 7c 7c 20 65 78  linkname)' || ex
14590 69 74 20 24 3f 0a 09 20 20 66 69 0a 09 64 6f 6e  it $?..  fi..don
145a0 65 0a 0a 09 23 20 49 66 20 2d 6d 6f 64 75 6c 65  e...# If -module
145b0 20 6f 72 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61   or -export-dyna
145c0 6d 69 63 20 77 61 73 20 73 70 65 63 69 66 69 65  mic was specifie
145d0 64 2c 20 73 65 74 20 74 68 65 20 64 6c 6e 61 6d  d, set the dlnam
145e0 65 2e 0a 09 69 66 20 74 65 73 74 20 22 24 6d 6f  e...if test "$mo
145f0 64 75 6c 65 22 20 3d 20 79 65 73 20 7c 7c 20 74  dule" = yes || t
14600 65 73 74 20 22 24 65 78 70 6f 72 74 5f 64 79 6e  est "$export_dyn
14610 61 6d 69 63 22 20 3d 20 79 65 73 3b 20 74 68 65  amic" = yes; the
14620 6e 0a 09 20 20 23 20 4f 6e 20 61 6c 6c 20 6b 6e  n..  # On all kn
14630 6f 77 6e 20 6f 70 65 72 61 74 69 6e 67 20 73 79  own operating sy
14640 73 74 65 6d 73 2c 20 74 68 65 73 65 20 61 72 65  stems, these are
14650 20 69 64 65 6e 74 69 63 61 6c 2e 0a 09 20 20 64   identical...  d
14660 6c 6e 61 6d 65 3d 22 24 73 6f 6e 61 6d 65 22 0a  lname="$soname".
14670 09 66 69 0a 20 20 20 20 20 20 66 69 0a 20 20 20  .fi.      fi.   
14680 20 20 20 3b 3b 0a 0a 20 20 20 20 6f 62 6a 29 0a     ;;..    obj).
14690 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
146a0 20 22 24 64 65 70 6c 69 62 73 22 3b 20 74 68 65   "$deplibs"; the
146b0 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  n..$echo "$moden
146c0 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60  ame: warning: \`
146d0 2d 6c 27 20 61 6e 64 20 5c 60 2d 4c 27 20 61 72  -l' and \`-L' ar
146e0 65 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62  e ignored for ob
146f0 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20  jects" 1>&2.    
14700 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
14710 65 73 74 20 2d 6e 20 22 24 64 6c 66 69 6c 65 73  est -n "$dlfiles
14720 24 64 6c 70 72 65 66 69 6c 65 73 22 20 7c 7c 20  $dlprefiles" || 
14730 74 65 73 74 20 22 24 64 6c 73 65 6c 66 22 20 21  test "$dlself" !
14740 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 24 65 63 68  = no; then..$ech
14750 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
14760 72 6e 69 6e 67 3a 20 5c 60 2d 64 6c 6f 70 65 6e  rning: \`-dlopen
14770 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
14780 20 6f 62 6a 65 63 74 73 22 20 31 3e 26 32 0a 20   objects" 1>&2. 
14790 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69       fi..      i
147a0 66 20 74 65 73 74 20 2d 6e 20 22 24 72 70 61 74  f test -n "$rpat
147b0 68 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20  h"; then..$echo 
147c0 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
147d0 69 6e 67 3a 20 5c 60 2d 72 70 61 74 68 27 20 69  ing: \`-rpath' i
147e0 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62  s ignored for ob
147f0 6a 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20  jects" 1>&2.    
14800 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
14810 65 73 74 20 2d 6e 20 22 24 78 72 70 61 74 68 22  est -n "$xrpath"
14820 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24  ; then..$echo "$
14830 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
14840 67 3a 20 5c 60 2d 52 27 20 69 73 20 69 67 6e 6f  g: \`-R' is igno
14850 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74 73 22  red for objects"
14860 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a   1>&2.      fi..
14870 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
14880 20 22 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a   "$vinfo"; then.
14890 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
148a0 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76  e: warning: \`-v
148b0 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73 20  ersion-info' is 
148c0 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65  ignored for obje
148d0 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20  cts" 1>&2.      
148e0 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  fi..      if tes
148f0 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65 22 3b  t -n "$release";
14900 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
14910 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
14920 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20 69 73  : \`-release' is
14930 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a   ignored for obj
14940 65 63 74 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ects" 1>&2.     
14950 20 66 69 0a 0a 20 20 20 20 20 20 63 61 73 65 20   fi..      case 
14960 24 6f 75 74 70 75 74 20 69 6e 0a 20 20 20 20 20  $output in.     
14970 20 2a 2e 6c 6f 29 0a 09 69 66 20 74 65 73 74 20   *.lo)..if test 
14980 2d 6e 20 22 24 6f 62 6a 73 24 6f 6c 64 5f 64 65  -n "$objs$old_de
14990 70 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 20 20  plibs"; then..  
149a0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
149b0 3a 20 63 61 6e 6e 6f 74 20 62 75 69 6c 64 20 6c  : cannot build l
149c0 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20 5c 60  ibrary object \`
149d0 24 6f 75 74 70 75 74 27 20 66 72 6f 6d 20 6e 6f  $output' from no
149e0 6e 2d 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74  n-libtool object
149f0 73 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  s" 1>&2..  exit 
14a00 31 0a 09 66 69 0a 09 6c 69 62 6f 62 6a 3d 22 24  1..fi..libobj="$
14a10 6f 75 74 70 75 74 22 0a 09 6f 62 6a 3d 60 24 65  output"..obj=`$e
14a20 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22 20 7c  cho "X$output" |
14a30 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f   $Xsed -e "$lo2o
14a40 22 60 0a 09 3b 3b 0a 20 20 20 20 20 20 2a 29 0a  "`..;;.      *).
14a50 09 6c 69 62 6f 62 6a 3d 0a 09 6f 62 6a 3d 22 24  .libobj=..obj="$
14a60 6f 75 74 70 75 74 22 0a 09 3b 3b 0a 20 20 20 20  output"..;;.    
14a70 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 23 20    esac..      # 
14a80 44 65 6c 65 74 65 20 74 68 65 20 6f 6c 64 20 6f  Delete the old o
14a90 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 20 24 72  bjects..      $r
14aa0 75 6e 20 24 72 6d 20 24 6f 62 6a 20 24 6c 69 62  un $rm $obj $lib
14ab0 6f 62 6a 0a 0a 20 20 20 20 20 20 23 20 4f 62 6a  obj..      # Obj
14ac0 65 63 74 73 20 66 72 6f 6d 20 63 6f 6e 76 65 6e  ects from conven
14ad0 69 65 6e 63 65 20 6c 69 62 72 61 72 69 65 73 2e  ience libraries.
14ae0 20 20 54 68 69 73 20 61 73 73 75 6d 65 73 0a 20    This assumes. 
14af0 20 20 20 20 20 23 20 73 69 6e 67 6c 65 2d 76 65       # single-ve
14b00 72 73 69 6f 6e 20 63 6f 6e 76 65 6e 69 65 6e 63  rsion convenienc
14b10 65 20 6c 69 62 72 61 72 69 65 73 2e 20 20 57 68  e libraries.  Wh
14b20 65 6e 65 76 65 72 20 77 65 20 63 72 65 61 74 65  enever we create
14b30 0a 20 20 20 20 20 20 23 20 64 69 66 66 65 72 65  .      # differe
14b40 6e 74 20 6f 6e 65 73 20 66 6f 72 20 50 49 43 2f  nt ones for PIC/
14b50 6e 6f 6e 2d 50 49 43 2c 20 74 68 69 73 20 77 65  non-PIC, this we
14b60 27 6c 6c 20 68 61 76 65 20 74 6f 20 64 75 70 6c  'll have to dupl
14b70 69 63 61 74 65 0a 20 20 20 20 20 20 23 20 74 68  icate.      # th
14b80 65 20 65 78 74 72 61 63 74 69 6f 6e 2e 0a 20 20  e extraction..  
14b90 20 20 20 20 72 65 6c 6f 61 64 5f 63 6f 6e 76 5f      reload_conv_
14ba0 6f 62 6a 73 3d 0a 20 20 20 20 20 20 67 65 6e 74  objs=.      gent
14bb0 6f 70 3d 0a 20 20 20 20 20 20 23 20 72 65 6c 6f  op=.      # relo
14bc0 61 64 5f 63 6d 64 73 20 72 75 6e 73 20 24 4c 44  ad_cmds runs $LD
14bd0 20 64 69 72 65 63 74 6c 79 2c 20 73 6f 20 6c 65   directly, so le
14be0 74 20 75 73 20 67 65 74 20 72 69 64 20 6f 66 0a  t us get rid of.
14bf0 20 20 20 20 20 20 23 20 2d 57 6c 20 66 72 6f 6d        # -Wl from
14c00 20 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66   whole_archive_f
14c10 6c 61 67 5f 73 70 65 63 0a 20 20 20 20 20 20 77  lag_spec.      w
14c20 6c 3d 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  l=..      if tes
14c30 74 20 2d 6e 20 22 24 63 6f 6e 76 65 6e 69 65 6e  t -n "$convenien
14c40 63 65 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  ce"; then..if te
14c50 73 74 20 2d 6e 20 22 24 77 68 6f 6c 65 5f 61 72  st -n "$whole_ar
14c60 63 68 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 22  chive_flag_spec"
14c70 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c 20 72  ; then..  eval r
14c80 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 3d  eload_conv_objs=
14c90 5c 22 5c 24 72 65 6c 6f 61 64 5f 6f 62 6a 73 20  \"\$reload_objs 
14ca0 24 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66  $whole_archive_f
14cb0 6c 61 67 5f 73 70 65 63 5c 22 0a 09 65 6c 73 65  lag_spec\"..else
14cc0 0a 09 20 20 67 65 6e 74 6f 70 3d 22 24 6f 75 74  ..  gentop="$out
14cd0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 62 6a  put_objdir/${obj
14ce0 7d 78 22 0a 09 20 20 24 73 68 6f 77 20 22 24 7b  }x"..  $show "${
14cf0 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 20  rm}r $gentop".. 
14d00 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24 67   $run ${rm}r "$g
14d10 65 6e 74 6f 70 22 0a 09 20 20 24 73 68 6f 77 20  entop"..  $show 
14d20 22 6d 6b 64 69 72 20 24 67 65 6e 74 6f 70 22 0a  "mkdir $gentop".
14d30 09 20 20 24 72 75 6e 20 6d 6b 64 69 72 20 22 24  .  $run mkdir "$
14d40 67 65 6e 74 6f 70 22 0a 09 20 20 73 74 61 74 75  gentop"..  statu
14d50 73 3d 24 3f 0a 09 20 20 69 66 20 74 65 73 74 20  s=$?..  if test 
14d60 24 73 74 61 74 75 73 20 2d 6e 65 20 30 20 26 26  $status -ne 0 &&
14d70 20 74 65 73 74 20 21 20 2d 64 20 22 24 67 65 6e   test ! -d "$gen
14d80 74 6f 70 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  top"; then..    
14d90 65 78 69 74 20 24 73 74 61 74 75 73 0a 09 20 20  exit $status..  
14da0 66 69 0a 09 20 20 67 65 6e 65 72 61 74 65 64 3d  fi..  generated=
14db0 22 24 67 65 6e 65 72 61 74 65 64 20 24 67 65 6e  "$generated $gen
14dc0 74 6f 70 22 0a 0a 09 20 20 66 6f 72 20 78 6c 69  top"...  for xli
14dd0 62 20 69 6e 20 24 63 6f 6e 76 65 6e 69 65 6e 63  b in $convenienc
14de0 65 3b 20 64 6f 0a 09 20 20 20 20 23 20 45 78 74  e; do..    # Ext
14df0 72 61 63 74 20 74 68 65 20 6f 62 6a 65 63 74 73  ract the objects
14e00 2e 0a 09 20 20 20 20 63 61 73 65 20 24 78 6c 69  ...    case $xli
14e10 62 20 69 6e 0a 09 20 20 20 20 5b 5c 5c 2f 5d 2a  b in..    [\\/]*
14e20 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f   | [A-Za-z]:[\\/
14e30 5d 2a 29 20 78 61 62 73 3d 22 24 78 6c 69 62 22  ]*) xabs="$xlib"
14e40 20 3b 3b 0a 09 20 20 20 20 2a 29 20 78 61 62 73   ;;..    *) xabs
14e50 3d 60 70 77 64 60 22 2f 24 78 6c 69 62 22 20 3b  =`pwd`"/$xlib" ;
14e60 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 20  ;..    esac..   
14e70 20 78 6c 69 62 3d 60 24 65 63 68 6f 20 22 58 24   xlib=`$echo "X$
14e80 78 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  xlib" | $Xsed -e
14e90 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20   's%^.*/%%'`..  
14ea0 20 20 78 64 69 72 3d 22 24 67 65 6e 74 6f 70 2f    xdir="$gentop/
14eb0 24 78 6c 69 62 22 0a 0a 09 20 20 20 20 24 73 68  $xlib"...    $sh
14ec0 6f 77 20 22 24 7b 72 6d 7d 72 20 24 78 64 69 72  ow "${rm}r $xdir
14ed0 22 0a 09 20 20 20 20 24 72 75 6e 20 24 7b 72 6d  "..    $run ${rm
14ee0 7d 72 20 22 24 78 64 69 72 22 0a 09 20 20 20 20  }r "$xdir"..    
14ef0 24 73 68 6f 77 20 22 6d 6b 64 69 72 20 24 78 64  $show "mkdir $xd
14f00 69 72 22 0a 09 20 20 20 20 24 72 75 6e 20 6d 6b  ir"..    $run mk
14f10 64 69 72 20 22 24 78 64 69 72 22 0a 09 20 20 20  dir "$xdir"..   
14f20 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 20 20   status=$?..    
14f30 69 66 20 74 65 73 74 20 24 73 74 61 74 75 73 20  if test $status 
14f40 2d 6e 65 20 30 20 26 26 20 74 65 73 74 20 21 20  -ne 0 && test ! 
14f50 2d 64 20 22 24 78 64 69 72 22 3b 20 74 68 65 6e  -d "$xdir"; then
14f60 0a 09 20 20 20 20 20 20 65 78 69 74 20 24 73 74  ..      exit $st
14f70 61 74 75 73 0a 09 20 20 20 20 66 69 0a 09 20 20  atus..    fi..  
14f80 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 78 64    $show "(cd $xd
14f90 69 72 20 26 26 20 24 41 52 20 78 20 24 78 61 62  ir && $AR x $xab
14fa0 73 29 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76  s)"..    $run ev
14fb0 61 6c 20 22 28 63 64 20 5c 24 78 64 69 72 20 26  al "(cd \$xdir &
14fc0 26 20 24 41 52 20 78 20 5c 24 78 61 62 73 29 22  & $AR x \$xabs)"
14fd0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09 20 20   || exit $?...  
14fe0 20 20 72 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62    reload_conv_ob
14ff0 6a 73 3d 22 24 72 65 6c 6f 61 64 5f 6f 62 6a 73  js="$reload_objs
15000 20 22 60 66 69 6e 64 20 24 78 64 69 72 20 2d 6e   "`find $xdir -n
15010 61 6d 65 20 5c 2a 2e 6f 20 2d 70 72 69 6e 74 20  ame \*.o -print 
15020 2d 6f 20 2d 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d  -o -name \*.lo -
15030 70 72 69 6e 74 20 7c 20 24 4e 4c 32 53 50 60 0a  print | $NL2SP`.
15040 09 20 20 64 6f 6e 65 0a 09 66 69 0a 20 20 20 20  .  done..fi.    
15050 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 43 72    fi..      # Cr
15060 65 61 74 65 20 74 68 65 20 6f 6c 64 2d 73 74 79  eate the old-sty
15070 6c 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20  le object..     
15080 20 72 65 6c 6f 61 64 5f 6f 62 6a 73 3d 22 24 6f   reload_objs="$o
15090 62 6a 73 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20  bjs$old_deplibs 
150a0 22 60 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62  "`$echo "X$libob
150b0 6a 73 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24  js" | $SP2NL | $
150c0 58 73 65 64 20 2d 65 20 27 2f 5c 2e 27 24 7b 6c  Xsed -e '/\.'${l
150d0 69 62 65 78 74 7d 24 27 2f 64 27 20 2d 65 20 27  ibext}$'/d' -e '
150e0 2f 5c 2e 6c 69 62 24 2f 64 27 20 2d 65 20 22 24  /\.lib$/d' -e "$
150f0 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 22  lo2o" | $NL2SP`"
15100 20 24 72 65 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62   $reload_conv_ob
15110 6a 73 22 20 23 23 23 20 74 65 73 74 73 75 69 74  js" ### testsuit
15120 65 3a 20 73 6b 69 70 20 6e 65 73 74 65 64 20 71  e: skip nested q
15130 75 6f 74 69 6e 67 20 74 65 73 74 0a 0a 20 20 20  uoting test..   
15140 20 20 20 6f 75 74 70 75 74 3d 22 24 6f 62 6a 22     output="$obj"
15150 0a 20 20 20 20 20 20 65 76 61 6c 20 63 6d 64 73  .      eval cmds
15160 3d 5c 22 24 72 65 6c 6f 61 64 5f 63 6d 64 73 5c  =\"$reload_cmds\
15170 22 0a 20 20 20 20 20 20 73 61 76 65 5f 69 66 73  ".      save_ifs
15180 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27  ="$IFS"; IFS='~'
15190 0a 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20 69  .      for cmd i
151a0 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 49 46 53  n $cmds; do..IFS
151b0 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 24 73  ="$save_ifs"..$s
151c0 68 6f 77 20 22 24 63 6d 64 22 0a 09 24 72 75 6e  how "$cmd"..$run
151d0 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20   eval "$cmd" || 
151e0 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 64 6f  exit $?.      do
151f0 6e 65 0a 20 20 20 20 20 20 49 46 53 3d 22 24 73  ne.      IFS="$s
15200 61 76 65 5f 69 66 73 22 0a 0a 20 20 20 20 20 20  ave_ifs"..      
15210 23 20 45 78 69 74 20 69 66 20 77 65 20 61 72 65  # Exit if we are
15220 6e 27 74 20 64 6f 69 6e 67 20 61 20 6c 69 62 72  n't doing a libr
15230 61 72 79 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ary object file.
15240 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
15250 7a 20 22 24 6c 69 62 6f 62 6a 22 3b 20 74 68 65  z "$libobj"; the
15260 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24  n..if test -n "$
15270 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a 09 20  gentop"; then.. 
15280 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20 24   $show "${rm}r $
15290 67 65 6e 74 6f 70 22 0a 09 20 20 24 72 75 6e 20  gentop"..  $run 
152a0 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70 0a 09  ${rm}r $gentop..
152b0 66 69 0a 0a 09 65 78 69 74 20 30 0a 20 20 20 20  fi...exit 0.    
152c0 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
152d0 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
152e0 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79 65 73  ool_libs" != yes
152f0 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20  ; then..if test 
15300 2d 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20 74 68  -n "$gentop"; th
15310 65 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 7b 72  en..  $show "${r
15320 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20  m}r $gentop"..  
15330 24 72 75 6e 20 24 7b 72 6d 7d 72 20 24 67 65 6e  $run ${rm}r $gen
15340 74 6f 70 0a 09 66 69 0a 0a 09 23 20 43 72 65 61  top..fi...# Crea
15350 74 65 20 61 6e 20 69 6e 76 61 6c 69 64 20 6c 69  te an invalid li
15360 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 69 66 20  btool object if 
15370 6e 6f 20 50 49 43 2c 20 73 6f 20 74 68 61 74 20  no PIC, so that 
15380 77 65 20 64 6f 6e 27 74 0a 09 23 20 61 63 63 69  we don't..# acci
15390 64 65 6e 74 61 6c 6c 79 20 6c 69 6e 6b 20 69 74  dentally link it
153a0 20 69 6e 74 6f 20 61 20 70 72 6f 67 72 61 6d 2e   into a program.
153b0 0a 09 24 73 68 6f 77 20 22 65 63 68 6f 20 74 69  ..$show "echo ti
153c0 6d 65 73 74 61 6d 70 20 3e 20 24 6c 69 62 6f 62  mestamp > $libob
153d0 6a 22 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 65  j"..$run eval "e
153e0 63 68 6f 20 74 69 6d 65 73 74 61 6d 70 20 3e 20  cho timestamp > 
153f0 24 6c 69 62 6f 62 6a 22 20 7c 7c 20 65 78 69 74  $libobj" || exit
15400 20 24 3f 0a 09 65 78 69 74 20 30 0a 20 20 20 20   $?..exit 0.    
15410 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
15420 65 73 74 20 2d 6e 20 22 24 70 69 63 5f 66 6c 61  est -n "$pic_fla
15430 67 22 20 7c 7c 20 74 65 73 74 20 22 24 70 69 63  g" || test "$pic
15440 5f 6d 6f 64 65 22 20 21 3d 20 64 65 66 61 75 6c  _mode" != defaul
15450 74 3b 20 74 68 65 6e 0a 09 23 20 4f 6e 6c 79 20  t; then..# Only 
15460 64 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 66 20 77  do commands if w
15470 65 20 72 65 61 6c 6c 79 20 68 61 76 65 20 64 69  e really have di
15480 66 66 65 72 65 6e 74 20 50 49 43 20 6f 62 6a 65  fferent PIC obje
15490 63 74 73 2e 0a 09 72 65 6c 6f 61 64 5f 6f 62 6a  cts...reload_obj
154a0 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 72 65 6c  s="$libobjs $rel
154b0 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 22 0a 09  oad_conv_objs"..
154c0 6f 75 74 70 75 74 3d 22 24 6c 69 62 6f 62 6a 22  output="$libobj"
154d0 0a 09 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24 72  ..eval cmds=\"$r
154e0 65 6c 6f 61 64 5f 63 6d 64 73 5c 22 0a 09 73 61  eload_cmds\"..sa
154f0 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49  ve_ifs="$IFS"; I
15500 46 53 3d 27 7e 27 0a 09 66 6f 72 20 63 6d 64 20  FS='~'..for cmd 
15510 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20  in $cmds; do..  
15520 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a  IFS="$save_ifs".
15530 09 20 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a  .  $show "$cmd".
15540 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63  .  $run eval "$c
15550 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09  md" || exit $?..
15560 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73 61 76 65  done..IFS="$save
15570 5f 69 66 73 22 0a 20 20 20 20 20 20 65 6c 73 65  _ifs".      else
15580 0a 09 23 20 4a 75 73 74 20 63 72 65 61 74 65 20  ..# Just create 
15590 61 20 73 79 6d 6c 69 6e 6b 2e 0a 09 24 73 68 6f  a symlink...$sho
155a0 77 20 24 72 6d 20 24 6c 69 62 6f 62 6a 0a 09 24  w $rm $libobj..$
155b0 72 75 6e 20 24 72 6d 20 24 6c 69 62 6f 62 6a 0a  run $rm $libobj.
155c0 09 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58 24  .xdir=`$echo "X$
155d0 6c 69 62 6f 62 6a 22 20 7c 20 24 58 73 65 64 20  libobj" | $Xsed 
155e0 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27  -e 's%/[^/]*$%%'
155f0 60 0a 09 69 66 20 74 65 73 74 20 22 58 24 78 64  `..if test "X$xd
15600 69 72 22 20 3d 20 22 58 24 6c 69 62 6f 62 6a 22  ir" = "X$libobj"
15610 3b 20 74 68 65 6e 0a 09 20 20 78 64 69 72 3d 22  ; then..  xdir="
15620 2e 22 0a 09 65 6c 73 65 0a 09 20 20 78 64 69 72  ."..else..  xdir
15630 3d 22 24 78 64 69 72 22 0a 09 66 69 0a 09 62 61  ="$xdir"..fi..ba
15640 73 65 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24  seobj=`$echo "X$
15650 6c 69 62 6f 62 6a 22 20 7c 20 24 58 73 65 64 20  libobj" | $Xsed 
15660 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09  -e 's%^.*/%%'`..
15670 6f 6c 64 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58  oldobj=`$echo "X
15680 24 62 61 73 65 6f 62 6a 22 20 7c 20 24 58 73 65  $baseobj" | $Xse
15690 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a 09 24  d -e "$lo2o"`..$
156a0 73 68 6f 77 20 22 28 63 64 20 24 78 64 69 72 20  show "(cd $xdir 
156b0 26 26 20 24 4c 4e 5f 53 20 24 6f 6c 64 6f 62 6a  && $LN_S $oldobj
156c0 20 24 62 61 73 65 6f 62 6a 29 22 0a 09 24 72 75   $baseobj)"..$ru
156d0 6e 20 65 76 61 6c 20 27 28 63 64 20 24 78 64 69  n eval '(cd $xdi
156e0 72 20 26 26 20 24 4c 4e 5f 53 20 24 6f 6c 64 6f  r && $LN_S $oldo
156f0 62 6a 20 24 62 61 73 65 6f 62 6a 29 27 20 7c 7c  bj $baseobj)' ||
15700 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 66   exit $?.      f
15710 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
15720 20 2d 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20 74   -n "$gentop"; t
15730 68 65 6e 0a 09 24 73 68 6f 77 20 22 24 7b 72 6d  hen..$show "${rm
15740 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 24 72 75  }r $gentop"..$ru
15750 6e 20 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70  n ${rm}r $gentop
15760 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
15770 20 65 78 69 74 20 30 0a 20 20 20 20 20 20 3b 3b   exit 0.      ;;
15780 0a 0a 20 20 20 20 70 72 6f 67 29 0a 20 20 20 20  ..    prog).    
15790 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a    case $host in.
157a0 09 2a 63 79 67 77 69 6e 2a 29 20 6f 75 74 70 75  .*cygwin*) outpu
157b0 74 3d 60 65 63 68 6f 20 24 6f 75 74 70 75 74 20  t=`echo $output 
157c0 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e  | ${SED} -e 's,.
157d0 65 78 65 24 2c 2c 3b 73 2c 24 2c 2e 65 78 65 2c  exe$,,;s,$,.exe,
157e0 27 60 20 3b 3b 0a 20 20 20 20 20 20 65 73 61 63  '` ;;.      esac
157f0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
15800 6e 20 22 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e  n "$vinfo"; then
15810 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
15820 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
15830 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 20 69 73  version-info' is
15840 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 70 72 6f   ignored for pro
15850 67 72 61 6d 73 22 20 31 3e 26 32 0a 20 20 20 20  grams" 1>&2.    
15860 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
15870 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65  est -n "$release
15880 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  "; then..$echo "
15890 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
158a0 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20  ng: \`-release' 
158b0 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 70  is ignored for p
158c0 72 6f 67 72 61 6d 73 22 20 31 3e 26 32 0a 20 20  rograms" 1>&2.  
158d0 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
158e0 20 74 65 73 74 20 22 24 70 72 65 6c 6f 61 64 22   test "$preload"
158f0 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 69 66   = yes; then..if
15900 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e 5f 73   test "$dlopen_s
15910 75 70 70 6f 72 74 22 20 3d 20 75 6e 6b 6e 6f 77  upport" = unknow
15920 6e 20 26 26 20 74 65 73 74 20 22 24 64 6c 6f 70  n && test "$dlop
15930 65 6e 5f 73 65 6c 66 22 20 3d 20 75 6e 6b 6e 6f  en_self" = unkno
15940 77 6e 20 26 26 0a 09 20 20 20 74 65 73 74 20 22  wn &&..   test "
15950 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73 74 61  $dlopen_self_sta
15960 74 69 63 22 20 3d 20 75 6e 6b 6e 6f 77 6e 3b 20  tic" = unknown; 
15970 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24  then..  $echo "$
15980 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
15990 67 3a 20 5c 60 41 43 5f 4c 49 42 54 4f 4f 4c 5f  g: \`AC_LIBTOOL_
159a0 44 4c 4f 50 45 4e 27 20 6e 6f 74 20 75 73 65 64  DLOPEN' not used
159b0 2e 20 41 73 73 75 6d 69 6e 67 20 6e 6f 20 64 6c  . Assuming no dl
159c0 6f 70 65 6e 20 73 75 70 70 6f 72 74 2e 22 0a 09  open support."..
159d0 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  fi.      fi..   
159e0 20 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e     case $host in
159f0 0a 20 20 20 20 20 20 2a 2d 2a 2d 72 68 61 70 73  .      *-*-rhaps
15a00 6f 64 79 2a 20 7c 20 2a 2d 2a 2d 64 61 72 77 69  ody* | *-*-darwi
15a10 6e 31 2e 5b 30 31 32 5d 29 0a 09 23 20 4f 6e 20  n1.[012])..# On 
15a20 52 68 61 70 73 6f 64 79 20 72 65 70 6c 61 63 65  Rhapsody replace
15a30 20 74 68 65 20 43 20 6c 69 62 72 61 72 79 20 69   the C library i
15a40 73 20 74 68 65 20 53 79 73 74 65 6d 20 66 72 61  s the System fra
15a50 6d 65 77 6f 72 6b 0a 09 63 6f 6d 70 69 6c 65 5f  mework..compile_
15a60 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f 20 22  deplibs=`$echo "
15a70 58 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69  X $compile_depli
15a80 62 73 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  bs" | $Xsed -e '
15a90 73 2f 20 2d 6c 63 20 2f 20 2d 66 72 61 6d 65 77  s/ -lc / -framew
15aa0 6f 72 6b 20 53 79 73 74 65 6d 20 2f 27 60 0a 09  ork System /'`..
15ab0 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73  finalize_deplibs
15ac0 3d 60 24 65 63 68 6f 20 22 58 20 24 66 69 6e 61  =`$echo "X $fina
15ad0 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 20 7c 20  lize_deplibs" | 
15ae0 24 58 73 65 64 20 2d 65 20 27 73 2f 20 2d 6c 63  $Xsed -e 's/ -lc
15af0 20 2f 20 2d 66 72 61 6d 65 77 6f 72 6b 20 53 79   / -framework Sy
15b00 73 74 65 6d 20 2f 27 60 0a 09 63 61 73 65 20 24  stem /'`..case $
15b10 68 6f 73 74 20 69 6e 0a 09 2a 64 61 72 77 69 6e  host in..*darwin
15b20 2a 29 0a 09 20 20 23 20 44 6f 6e 27 74 20 61 6c  *)..  # Don't al
15b30 6c 6f 77 20 6c 61 7a 79 20 6c 69 6e 6b 69 6e 67  low lazy linking
15b40 2c 20 69 74 20 62 72 65 61 6b 73 20 43 2b 2b 20  , it breaks C++ 
15b50 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 72 75 63 74  global construct
15b60 6f 72 73 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63  ors..  compile_c
15b70 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
15b80 5f 63 6f 6d 6d 61 6e 64 20 24 7b 77 6c 7d 2d 62  _command ${wl}-b
15b90 69 6e 64 5f 61 74 5f 6c 6f 61 64 22 0a 09 20 20  ind_at_load"..  
15ba0 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
15bb0 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  ="$finalize_comm
15bc0 61 6e 64 20 24 7b 77 6c 7d 2d 62 69 6e 64 5f 61  and ${wl}-bind_a
15bd0 74 5f 6c 6f 61 64 22 0a 09 20 20 3b 3b 0a 09 65  t_load"..  ;;..e
15be0 73 61 63 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73  sac..;;.      es
15bf0 61 63 0a 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c  ac..      compil
15c00 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  e_command="$comp
15c10 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d  ile_command $com
15c20 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 20 20  pile_deplibs".  
15c30 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d      finalize_com
15c40 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
15c50 63 6f 6d 6d 61 6e 64 20 24 66 69 6e 61 6c 69 7a  command $finaliz
15c60 65 5f 64 65 70 6c 69 62 73 22 0a 0a 20 20 20 20  e_deplibs"..    
15c70 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 72    if test -n "$r
15c80 70 61 74 68 24 78 72 70 61 74 68 22 3b 20 74 68  path$xrpath"; th
15c90 65 6e 0a 09 23 20 49 66 20 74 68 65 20 75 73 65  en..# If the use
15ca0 72 20 73 70 65 63 69 66 69 65 64 20 61 6e 79 20  r specified any 
15cb0 72 70 61 74 68 20 66 6c 61 67 73 2c 20 74 68 65  rpath flags, the
15cc0 6e 20 61 64 64 20 74 68 65 6d 2e 0a 09 66 6f 72  n add them...for
15cd0 20 6c 69 62 64 69 72 20 69 6e 20 24 72 70 61 74   libdir in $rpat
15ce0 68 20 24 78 72 70 61 74 68 3b 20 64 6f 0a 09 20  h $xrpath; do.. 
15cf0 20 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6d   # This is the m
15d00 61 67 69 63 20 74 6f 20 75 73 65 20 2d 72 70 61  agic to use -rpa
15d10 74 68 2e 0a 09 20 20 63 61 73 65 20 22 24 66 69  th...  case "$fi
15d20 6e 61 6c 69 7a 65 5f 72 70 61 74 68 20 22 20 69  nalize_rpath " i
15d30 6e 0a 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20  n..  *" $libdir 
15d40 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 66 69 6e  "*) ;;..  *) fin
15d50 61 6c 69 7a 65 5f 72 70 61 74 68 3d 22 24 66 69  alize_rpath="$fi
15d60 6e 61 6c 69 7a 65 5f 72 70 61 74 68 20 24 6c 69  nalize_rpath $li
15d70 62 64 69 72 22 20 3b 3b 0a 09 20 20 65 73 61 63  bdir" ;;..  esac
15d80 0a 09 64 6f 6e 65 0a 20 20 20 20 20 20 66 69 0a  ..done.      fi.
15d90 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 68 61 72  .      # Now har
15da0 64 63 6f 64 65 20 74 68 65 20 6c 69 62 72 61 72  dcode the librar
15db0 79 20 70 61 74 68 73 0a 20 20 20 20 20 20 72 70  y paths.      rp
15dc0 61 74 68 3d 0a 20 20 20 20 20 20 68 61 72 64 63  ath=.      hardc
15dd0 6f 64 65 5f 6c 69 62 64 69 72 73 3d 0a 20 20 20  ode_libdirs=.   
15de0 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e     for libdir in
15df0 20 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20   $compile_rpath 
15e00 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3b  $finalize_rpath;
15e10 20 64 6f 0a 09 69 66 20 74 65 73 74 20 2d 6e 20   do..if test -n 
15e20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  "$hardcode_libdi
15e30 72 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68  r_flag_spec"; th
15e40 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e  en..  if test -n
15e50 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
15e60 69 72 5f 73 65 70 61 72 61 74 6f 72 22 3b 20 74  ir_separator"; t
15e70 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74  hen..    if test
15e80 20 2d 7a 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -z "$hardcode_l
15e90 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 20  ibdirs"; then.. 
15ea0 20 20 20 20 20 68 61 72 64 63 6f 64 65 5f 6c 69       hardcode_li
15eb0 62 64 69 72 73 3d 22 24 6c 69 62 64 69 72 22 0a  bdirs="$libdir".
15ec0 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
15ed0 20 23 20 4a 75 73 74 20 61 63 63 75 6d 75 6c 61   # Just accumula
15ee0 74 65 20 74 68 65 20 75 6e 69 71 75 65 20 6c 69  te the unique li
15ef0 62 64 69 72 73 2e 0a 09 20 20 20 20 20 20 63 61  bdirs...      ca
15f00 73 65 20 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  se $hardcode_lib
15f10 64 69 72 5f 73 65 70 61 72 61 74 6f 72 24 68 61  dir_separator$ha
15f20 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 24 68  rdcode_libdirs$h
15f30 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73  ardcode_libdir_s
15f40 65 70 61 72 61 74 6f 72 20 69 6e 0a 09 20 20 20  eparator in..   
15f50 20 20 20 2a 22 24 68 61 72 64 63 6f 64 65 5f 6c     *"$hardcode_l
15f60 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 24  ibdir_separator$
15f70 6c 69 62 64 69 72 24 68 61 72 64 63 6f 64 65 5f  libdir$hardcode_
15f80 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
15f90 22 2a 29 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20  "*)...;;..      
15fa0 2a 29 0a 09 09 68 61 72 64 63 6f 64 65 5f 6c 69  *)...hardcode_li
15fb0 62 64 69 72 73 3d 22 24 68 61 72 64 63 6f 64 65  bdirs="$hardcode
15fc0 5f 6c 69 62 64 69 72 73 24 68 61 72 64 63 6f 64  _libdirs$hardcod
15fd0 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74  e_libdir_separat
15fe0 6f 72 24 6c 69 62 64 69 72 22 0a 09 09 3b 3b 0a  or$libdir"...;;.
15ff0 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
16000 20 66 69 0a 09 20 20 65 6c 73 65 0a 09 20 20 20   fi..  else..   
16010 20 65 76 61 6c 20 66 6c 61 67 3d 5c 22 24 68 61   eval flag=\"$ha
16020 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c  rdcode_libdir_fl
16030 61 67 5f 73 70 65 63 5c 22 0a 09 20 20 20 20 72  ag_spec\"..    r
16040 70 61 74 68 3d 22 24 72 70 61 74 68 20 24 66 6c  path="$rpath $fl
16050 61 67 22 0a 09 20 20 66 69 0a 09 65 6c 69 66 20  ag"..  fi..elif 
16060 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74  test -n "$runpat
16070 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 20 20  h_var"; then..  
16080 63 61 73 65 20 22 24 70 65 72 6d 5f 72 70 61 74  case "$perm_rpat
16090 68 20 22 20 69 6e 0a 09 20 20 2a 22 20 24 6c 69  h " in..  *" $li
160a0 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 2a  bdir "*) ;;..  *
160b0 29 20 70 65 72 6d 5f 72 70 61 74 68 3d 22 24 70  ) perm_rpath="$p
160c0 65 72 6d 5f 72 70 61 74 68 20 24 6c 69 62 64 69  erm_rpath $libdi
160d0 72 22 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 66  r" ;;..  esac..f
160e0 69 0a 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e  i..case $host in
160f0 0a 09 2a 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c 20  ..*-*-cygwin* | 
16100 2a 2d 2a 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a  *-*-mingw* | *-*
16110 2d 70 77 33 32 2a 20 7c 20 2a 2d 2a 2d 6f 73 32  -pw32* | *-*-os2
16120 2a 29 0a 09 20 20 63 61 73 65 20 3a 24 64 6c 6c  *)..  case :$dll
16130 73 65 61 72 63 68 70 61 74 68 3a 20 69 6e 0a 09  searchpath: in..
16140 20 20 2a 22 3a 24 6c 69 62 64 69 72 3a 22 2a 29    *":$libdir:"*)
16150 20 3b 3b 0a 09 20 20 2a 29 20 64 6c 6c 73 65 61   ;;..  *) dllsea
16160 72 63 68 70 61 74 68 3d 22 24 64 6c 6c 73 65 61  rchpath="$dllsea
16170 72 63 68 70 61 74 68 3a 24 6c 69 62 64 69 72 22  rchpath:$libdir"
16180 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b  ;;..  esac..  ;;
16190 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64 6f 6e  ..esac.      don
161a0 65 0a 20 20 20 20 20 20 23 20 53 75 62 73 74 69  e.      # Substi
161b0 74 75 74 65 20 74 68 65 20 68 61 72 64 63 6f 64  tute the hardcod
161c0 65 64 20 6c 69 62 64 69 72 73 20 69 6e 74 6f 20  ed libdirs into 
161d0 74 68 65 20 72 70 61 74 68 2e 0a 20 20 20 20 20  the rpath..     
161e0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 68 61   if test -n "$ha
161f0 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65  rdcode_libdir_se
16200 70 61 72 61 74 6f 72 22 20 26 26 0a 09 20 74 65  parator" &&.. te
16210 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65  st -n "$hardcode
16220 5f 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a  _libdirs"; then.
16230 09 6c 69 62 64 69 72 3d 22 24 68 61 72 64 63 6f  .libdir="$hardco
16240 64 65 5f 6c 69 62 64 69 72 73 22 0a 09 65 76 61  de_libdirs"..eva
16250 6c 20 72 70 61 74 68 3d 5c 22 20 24 68 61 72 64  l rpath=\" $hard
16260 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67  code_libdir_flag
16270 5f 73 70 65 63 5c 22 0a 20 20 20 20 20 20 66 69  _spec\".      fi
16280 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 72  .      compile_r
16290 70 61 74 68 3d 22 24 72 70 61 74 68 22 0a 0a 20  path="$rpath".. 
162a0 20 20 20 20 20 72 70 61 74 68 3d 0a 20 20 20 20       rpath=.    
162b0 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69    hardcode_libdi
162c0 72 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c 69  rs=.      for li
162d0 62 64 69 72 20 69 6e 20 24 66 69 6e 61 6c 69 7a  bdir in $finaliz
162e0 65 5f 72 70 61 74 68 3b 20 64 6f 0a 09 69 66 20  e_rpath; do..if 
162f0 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f  test -n "$hardco
16300 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73  de_libdir_flag_s
16310 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 69 66  pec"; then..  if
16320 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
16330 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
16340 61 74 6f 72 22 3b 20 74 68 65 6e 0a 09 20 20 20  ator"; then..   
16350 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 68 61   if test -z "$ha
16360 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 3b  rdcode_libdirs";
16370 20 74 68 65 6e 0a 09 20 20 20 20 20 20 68 61 72   then..      har
16380 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22 24  dcode_libdirs="$
16390 6c 69 62 64 69 72 22 0a 09 20 20 20 20 65 6c 73  libdir"..    els
163a0 65 0a 09 20 20 20 20 20 20 23 20 4a 75 73 74 20  e..      # Just 
163b0 61 63 63 75 6d 75 6c 61 74 65 20 74 68 65 20 75  accumulate the u
163c0 6e 69 71 75 65 20 6c 69 62 64 69 72 73 2e 0a 09  nique libdirs...
163d0 20 20 20 20 20 20 63 61 73 65 20 24 68 61 72 64        case $hard
163e0 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
163f0 72 61 74 6f 72 24 68 61 72 64 63 6f 64 65 5f 6c  rator$hardcode_l
16400 69 62 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f  ibdirs$hardcode_
16410 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
16420 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 24 68 61   in..      *"$ha
16430 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65  rdcode_libdir_se
16440 70 61 72 61 74 6f 72 24 6c 69 62 64 69 72 24 68  parator$libdir$h
16450 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73  ardcode_libdir_s
16460 65 70 61 72 61 74 6f 72 22 2a 29 0a 09 09 3b 3b  eparator"*)...;;
16470 0a 09 20 20 20 20 20 20 2a 29 0a 09 09 68 61 72  ..      *)...har
16480 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22 24  dcode_libdirs="$
16490 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73  hardcode_libdirs
164a0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
164b0 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62 64 69  _separator$libdi
164c0 72 22 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20 65  r"...;;..      e
164d0 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 65  sac..    fi..  e
164e0 6c 73 65 0a 09 20 20 20 20 65 76 61 6c 20 66 6c  lse..    eval fl
164f0 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c  ag=\"$hardcode_l
16500 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c  ibdir_flag_spec\
16510 22 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24 72  "..    rpath="$r
16520 70 61 74 68 20 24 66 6c 61 67 22 0a 09 20 20 66  path $flag"..  f
16530 69 0a 09 65 6c 69 66 20 74 65 73 74 20 2d 6e 20  i..elif test -n 
16540 22 24 72 75 6e 70 61 74 68 5f 76 61 72 22 3b 20  "$runpath_var"; 
16550 74 68 65 6e 0a 09 20 20 63 61 73 65 20 22 24 66  then..  case "$f
16560 69 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61  inalize_perm_rpa
16570 74 68 20 22 20 69 6e 0a 09 20 20 2a 22 20 24 6c  th " in..  *" $l
16580 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20  ibdir "*) ;;..  
16590 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 70 65 72 6d  *) finalize_perm
165a0 5f 72 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a  _rpath="$finaliz
165b0 65 5f 70 65 72 6d 5f 72 70 61 74 68 20 24 6c 69  e_perm_rpath $li
165c0 62 64 69 72 22 20 3b 3b 0a 09 20 20 65 73 61 63  bdir" ;;..  esac
165d0 0a 09 66 69 0a 20 20 20 20 20 20 64 6f 6e 65 0a  ..fi.      done.
165e0 20 20 20 20 20 20 23 20 53 75 62 73 74 69 74 75        # Substitu
165f0 74 65 20 74 68 65 20 68 61 72 64 63 6f 64 65 64  te the hardcoded
16600 20 6c 69 62 64 69 72 73 20 69 6e 74 6f 20 74 68   libdirs into th
16610 65 20 72 70 61 74 68 2e 0a 20 20 20 20 20 20 69  e rpath..      i
16620 66 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64  f test -n "$hard
16630 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
16640 72 61 74 6f 72 22 20 26 26 0a 09 20 74 65 73 74  rator" &&.. test
16650 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c   -n "$hardcode_l
16660 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09 6c  ibdirs"; then..l
16670 69 62 64 69 72 3d 22 24 68 61 72 64 63 6f 64 65  ibdir="$hardcode
16680 5f 6c 69 62 64 69 72 73 22 0a 09 65 76 61 6c 20  _libdirs"..eval 
16690 72 70 61 74 68 3d 5c 22 20 24 68 61 72 64 63 6f  rpath=\" $hardco
166a0 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73  de_libdir_flag_s
166b0 70 65 63 5c 22 0a 20 20 20 20 20 20 66 69 0a 20  pec\".      fi. 
166c0 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 72 70       finalize_rp
166d0 61 74 68 3d 22 24 72 70 61 74 68 22 0a 0a 20 20  ath="$rpath"..  
166e0 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
166f0 24 6c 69 62 6f 62 6a 73 22 20 26 26 20 74 65 73  $libobjs" && tes
16700 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69  t "$build_old_li
16710 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a  bs" = yes; then.
16720 09 23 20 54 72 61 6e 73 66 6f 72 6d 20 61 6c 6c  .# Transform all
16730 20 74 68 65 20 6c 69 62 72 61 72 79 20 6f 62 6a   the library obj
16740 65 63 74 73 20 69 6e 74 6f 20 73 74 61 6e 64 61  ects into standa
16750 72 64 20 6f 62 6a 65 63 74 73 2e 0a 09 63 6f 6d  rd objects...com
16760 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65  pile_command=`$e
16770 63 68 6f 20 22 58 24 63 6f 6d 70 69 6c 65 5f 63  cho "X$compile_c
16780 6f 6d 6d 61 6e 64 22 20 7c 20 24 53 50 32 4e 4c  ommand" | $SP2NL
16790 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f   | $Xsed -e "$lo
167a0 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a 09 66  2o" | $NL2SP`..f
167b0 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
167c0 60 24 65 63 68 6f 20 22 58 24 66 69 6e 61 6c 69  `$echo "X$finali
167d0 7a 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 53  ze_command" | $S
167e0 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d 65 20  P2NL | $Xsed -e 
167f0 22 24 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50  "$lo2o" | $NL2SP
16800 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  `.      fi..    
16810 20 20 64 6c 73 79 6d 73 3d 0a 20 20 20 20 20 20    dlsyms=.      
16820 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 6c 66  if test -n "$dlf
16830 69 6c 65 73 24 64 6c 70 72 65 66 69 6c 65 73 22  iles$dlprefiles"
16840 20 7c 7c 20 74 65 73 74 20 22 24 64 6c 73 65 6c   || test "$dlsel
16850 66 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  f" != no; then..
16860 69 66 20 74 65 73 74 20 2d 6e 20 22 24 4e 4d 22  if test -n "$NM"
16870 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 67 6c   && test -n "$gl
16880 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65  obal_symbol_pipe
16890 22 3b 20 74 68 65 6e 0a 09 20 20 64 6c 73 79 6d  "; then..  dlsym
168a0 73 3d 22 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d  s="${outputname}
168b0 53 2e 63 22 0a 09 65 6c 73 65 0a 09 20 20 24 65  S.c"..else..  $e
168c0 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
168d0 6e 6f 74 20 63 6f 6e 66 69 67 75 72 65 64 20 74  not configured t
168e0 6f 20 65 78 74 72 61 63 74 20 67 6c 6f 62 61 6c  o extract global
168f0 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 64 6c   symbols from dl
16900 70 72 65 6f 70 65 6e 65 64 20 66 69 6c 65 73 22  preopened files"
16910 20 31 3e 26 32 0a 09 66 69 0a 20 20 20 20 20 20   1>&2..fi.      
16920 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  fi..      if tes
16930 74 20 2d 6e 20 22 24 64 6c 73 79 6d 73 22 3b 20  t -n "$dlsyms"; 
16940 74 68 65 6e 0a 09 63 61 73 65 20 24 64 6c 73 79  then..case $dlsy
16950 6d 73 20 69 6e 0a 09 22 22 29 20 3b 3b 0a 09 2a  ms in.."") ;;..*
16960 2e 63 29 0a 09 20 20 23 20 44 69 73 63 6f 76 65  .c)..  # Discove
16970 72 20 74 68 65 20 6e 6c 69 73 74 20 6f 66 20 65  r the nlist of e
16980 61 63 68 20 6f 66 20 74 68 65 20 64 6c 66 69 6c  ach of the dlfil
16990 65 73 2e 0a 09 20 20 6e 6c 69 73 74 3d 22 24 6f  es...  nlist="$o
169a0 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f  utput_objdir/${o
169b0 75 74 70 75 74 6e 61 6d 65 7d 2e 6e 6d 22 0a 0a  utputname}.nm"..
169c0 09 20 20 24 73 68 6f 77 20 22 24 72 6d 20 24 6e  .  $show "$rm $n
169d0 6c 69 73 74 20 24 7b 6e 6c 69 73 74 7d 53 20 24  list ${nlist}S $
169e0 7b 6e 6c 69 73 74 7d 54 22 0a 09 20 20 24 72 75  {nlist}T"..  $ru
169f0 6e 20 24 72 6d 20 22 24 6e 6c 69 73 74 22 20 22  n $rm "$nlist" "
16a00 24 7b 6e 6c 69 73 74 7d 53 22 20 22 24 7b 6e 6c  ${nlist}S" "${nl
16a10 69 73 74 7d 54 22 0a 0a 09 20 20 23 20 50 61 72  ist}T"...  # Par
16a20 73 65 20 74 68 65 20 6e 61 6d 65 20 6c 69 73 74  se the name list
16a30 20 69 6e 74 6f 20 61 20 73 6f 75 72 63 65 20 66   into a source f
16a40 69 6c 65 2e 0a 09 20 20 24 73 68 6f 77 20 22 63  ile...  $show "c
16a50 72 65 61 74 69 6e 67 20 24 6f 75 74 70 75 74 5f  reating $output_
16a60 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a  objdir/$dlsyms".
16a70 0a 09 20 20 74 65 73 74 20 2d 7a 20 22 24 72 75  ..  test -z "$ru
16a80 6e 22 20 26 26 20 24 65 63 68 6f 20 3e 20 22 24  n" && $echo > "$
16a90 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64  output_objdir/$d
16aa0 6c 73 79 6d 73 22 20 22 5c 0a 2f 2a 20 24 64 6c  lsyms" "\./* $dl
16ab0 73 79 6d 73 20 2d 20 73 79 6d 62 6f 6c 20 72 65  syms - symbol re
16ac0 73 6f 6c 75 74 69 6f 6e 20 74 61 62 6c 65 20 66  solution table f
16ad0 6f 72 20 5c 60 24 6f 75 74 70 75 74 6e 61 6d 65  or \`$outputname
16ae0 27 20 64 6c 73 79 6d 20 65 6d 75 6c 61 74 69 6f  ' dlsym emulatio
16af0 6e 2e 20 2a 2f 0a 2f 2a 20 47 65 6e 65 72 61 74  n. */./* Generat
16b00 65 64 20 62 79 20 24 50 52 4f 47 52 41 4d 20 2d  ed by $PROGRAM -
16b10 20 47 4e 55 20 24 50 41 43 4b 41 47 45 20 24 56   GNU $PACKAGE $V
16b20 45 52 53 49 4f 4e 24 54 49 4d 45 53 54 41 4d 50  ERSION$TIMESTAMP
16b30 20 2a 2f 0a 0a 23 69 66 64 65 66 20 5f 5f 63 70   */..#ifdef __cp
16b40 6c 75 73 70 6c 75 73 0a 65 78 74 65 72 6e 20 5c  lusplus.extern \
16b50 22 43 5c 22 20 7b 0a 23 65 6e 64 69 66 0a 0a 2f  "C\" {.#endif../
16b60 2a 20 50 72 65 76 65 6e 74 20 74 68 65 20 6f 6e  * Prevent the on
16b70 6c 79 20 6b 69 6e 64 20 6f 66 20 64 65 63 6c 61  ly kind of decla
16b80 72 61 74 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 73  ration conflicts
16b90 20 77 65 20 63 61 6e 20 6d 61 6b 65 2e 20 2a 2f   we can make. */
16ba0 0a 23 64 65 66 69 6e 65 20 6c 74 5f 70 72 65 6c  .#define lt_prel
16bb0 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 20 73 6f  oaded_symbols so
16bc0 6d 65 5f 6f 74 68 65 72 5f 73 79 6d 62 6f 6c 0a  me_other_symbol.
16bd0 0a 2f 2a 20 45 78 74 65 72 6e 61 6c 20 73 79 6d  ./* External sym
16be0 62 6f 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73  bol declarations
16bf0 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 69 6c 65   for the compile
16c00 72 2e 20 2a 2f 5c 0a 22 0a 0a 09 20 20 69 66 20  r. */\."...  if 
16c10 74 65 73 74 20 22 24 64 6c 73 65 6c 66 22 20 3d  test "$dlself" =
16c20 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
16c30 24 73 68 6f 77 20 22 67 65 6e 65 72 61 74 69 6e  $show "generatin
16c40 67 20 73 79 6d 62 6f 6c 20 6c 69 73 74 20 66 6f  g symbol list fo
16c50 72 20 5c 60 24 6f 75 74 70 75 74 27 22 0a 0a 09  r \`$output'"...
16c60 20 20 20 20 74 65 73 74 20 2d 7a 20 22 24 72 75      test -z "$ru
16c70 6e 22 20 26 26 20 24 65 63 68 6f 20 27 3a 20 40  n" && $echo ': @
16c80 50 52 4f 47 52 41 4d 40 20 27 20 3e 20 22 24 6e  PROGRAM@ ' > "$n
16c90 6c 69 73 74 22 0a 0a 09 20 20 20 20 23 20 41 64  list"...    # Ad
16ca0 64 20 6f 75 72 20 6f 77 6e 20 70 72 6f 67 72 61  d our own progra
16cb0 6d 20 6f 62 6a 65 63 74 73 20 74 6f 20 74 68 65  m objects to the
16cc0 20 73 79 6d 62 6f 6c 20 6c 69 73 74 2e 0a 09 20   symbol list... 
16cd0 20 20 20 70 72 6f 67 66 69 6c 65 73 3d 60 24 65     progfiles=`$e
16ce0 63 68 6f 20 22 58 24 6f 62 6a 73 24 6f 6c 64 5f  cho "X$objs$old_
16cf0 64 65 70 6c 69 62 73 22 20 7c 20 24 53 50 32 4e  deplibs" | $SP2N
16d00 4c 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  L | $Xsed -e "$l
16d10 6f 32 6f 22 20 7c 20 24 4e 4c 32 53 50 60 0a 09  o2o" | $NL2SP`..
16d20 20 20 20 20 66 6f 72 20 61 72 67 20 69 6e 20 24      for arg in $
16d30 70 72 6f 67 66 69 6c 65 73 3b 20 64 6f 0a 09 20  progfiles; do.. 
16d40 20 20 20 20 20 24 73 68 6f 77 20 22 65 78 74 72       $show "extr
16d50 61 63 74 69 6e 67 20 67 6c 6f 62 61 6c 20 43 20  acting global C 
16d60 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 5c 60 24  symbols from \`$
16d70 61 72 67 27 22 0a 09 20 20 20 20 20 20 24 72 75  arg'"..      $ru
16d80 6e 20 65 76 61 6c 20 22 24 4e 4d 20 24 61 72 67  n eval "$NM $arg
16d90 20 7c 20 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f   | $global_symbo
16da0 6c 5f 70 69 70 65 20 3e 3e 20 27 24 6e 6c 69 73  l_pipe >> '$nlis
16db0 74 27 22 0a 09 20 20 20 20 64 6f 6e 65 0a 0a 09  t'"..    done...
16dc0 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
16dd0 24 65 78 63 6c 75 64 65 5f 65 78 70 73 79 6d 73  $exclude_expsyms
16de0 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24  "; then..      $
16df0 72 75 6e 20 65 76 61 6c 20 27 65 67 72 65 70 20  run eval 'egrep 
16e00 2d 76 20 22 20 28 24 65 78 63 6c 75 64 65 5f 65  -v " ($exclude_e
16e10 78 70 73 79 6d 73 29 24 22 20 22 24 6e 6c 69 73  xpsyms)$" "$nlis
16e20 74 22 20 3e 20 22 24 6e 6c 69 73 74 22 54 27 0a  t" > "$nlist"T'.
16e30 09 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c  .      $run eval
16e40 20 27 24 6d 76 20 22 24 6e 6c 69 73 74 22 54 20   '$mv "$nlist"T 
16e50 22 24 6e 6c 69 73 74 22 27 0a 09 20 20 20 20 66  "$nlist"'..    f
16e60 69 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  i...    if test 
16e70 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62  -n "$export_symb
16e80 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74 68 65 6e  ols_regex"; then
16e90 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76 61  ..      $run eva
16ea0 6c 20 27 65 67 72 65 70 20 2d 65 20 22 24 65 78  l 'egrep -e "$ex
16eb0 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67  port_symbols_reg
16ec0 65 78 22 20 22 24 6e 6c 69 73 74 22 20 3e 20 22  ex" "$nlist" > "
16ed0 24 6e 6c 69 73 74 22 54 27 0a 09 20 20 20 20 20  $nlist"T'..     
16ee0 20 24 72 75 6e 20 65 76 61 6c 20 27 24 6d 76 20   $run eval '$mv 
16ef0 22 24 6e 6c 69 73 74 22 54 20 22 24 6e 6c 69 73  "$nlist"T "$nlis
16f00 74 22 27 0a 09 20 20 20 20 66 69 0a 0a 09 20 20  t"'..    fi...  
16f10 20 20 23 20 50 72 65 70 61 72 65 20 74 68 65 20    # Prepare the 
16f20 6c 69 73 74 20 6f 66 20 65 78 70 6f 72 74 65 64  list of exported
16f30 20 73 79 6d 62 6f 6c 73 0a 09 20 20 20 20 69 66   symbols..    if
16f40 20 74 65 73 74 20 2d 7a 20 22 24 65 78 70 6f 72   test -z "$expor
16f50 74 5f 73 79 6d 62 6f 6c 73 22 3b 20 74 68 65 6e  t_symbols"; then
16f60 0a 09 20 20 20 20 20 20 65 78 70 6f 72 74 5f 73  ..      export_s
16f70 79 6d 62 6f 6c 73 3d 22 24 6f 75 74 70 75 74 5f  ymbols="$output_
16f80 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 2e 65  objdir/$output.e
16f90 78 70 22 0a 09 20 20 20 20 20 20 24 72 75 6e 20  xp"..      $run 
16fa0 24 72 6d 20 24 65 78 70 6f 72 74 5f 73 79 6d 62  $rm $export_symb
16fb0 6f 6c 73 0a 09 20 20 20 20 20 20 24 72 75 6e 20  ols..      $run 
16fc0 65 76 61 6c 20 22 24 7b 53 45 44 7d 20 2d 6e 20  eval "${SED} -n 
16fd0 2d 65 20 27 2f 5e 3a 20 40 50 52 4f 47 52 41 4d  -e '/^: @PROGRAM
16fe0 40 24 2f 64 27 20 2d 65 20 27 73 2f 5e 2e 2a 20  @$/d' -e 's/^.* 
16ff0 5c 28 2e 2a 5c 29 24 2f 5c 31 2f 70 27 20 22 27  \(.*\)$/\1/p' "'
17000 3c 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 65  < "$nlist" > "$e
17010 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 27 0a  xport_symbols"'.
17020 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
17030 20 24 72 75 6e 20 65 76 61 6c 20 22 24 7b 53 45   $run eval "${SE
17040 44 7d 20 2d 65 20 27 73 2f 5c 28 5b 5d 5b 2e 2a  D} -e 's/\([][.*
17050 5e 24 5d 5c 29 2f 5c 5c 5c 31 2f 67 27 20 2d 65  ^$]\)/\\\1/g' -e
17060 20 27 73 2f 5e 2f 20 2f 27 20 2d 65 20 27 73 2f   's/^/ /' -e 's/
17070 24 2f 24 2f 27 22 27 20 3c 20 22 24 65 78 70 6f  $/$/'"' < "$expo
17080 72 74 5f 73 79 6d 62 6f 6c 73 22 20 3e 20 22 24  rt_symbols" > "$
17090 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f  output_objdir/$o
170a0 75 74 70 75 74 2e 65 78 70 22 27 0a 09 20 20 20  utput.exp"'..   
170b0 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27 67 72     $run eval 'gr
170c0 65 70 20 2d 66 20 22 24 6f 75 74 70 75 74 5f 6f  ep -f "$output_o
170d0 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 2e 65 78  bjdir/$output.ex
170e0 70 22 20 3c 20 22 24 6e 6c 69 73 74 22 20 3e 20  p" < "$nlist" > 
170f0 22 24 6e 6c 69 73 74 22 54 27 0a 09 20 20 20 20  "$nlist"T'..    
17100 20 20 24 72 75 6e 20 65 76 61 6c 20 27 6d 76 20    $run eval 'mv 
17110 22 24 6e 6c 69 73 74 22 54 20 22 24 6e 6c 69 73  "$nlist"T "$nlis
17120 74 22 27 0a 09 20 20 20 20 66 69 0a 09 20 20 66  t"'..    fi..  f
17130 69 0a 0a 09 20 20 66 6f 72 20 61 72 67 20 69 6e  i...  for arg in
17140 20 24 64 6c 70 72 65 66 69 6c 65 73 3b 20 64 6f   $dlprefiles; do
17150 0a 09 20 20 20 20 24 73 68 6f 77 20 22 65 78 74  ..    $show "ext
17160 72 61 63 74 69 6e 67 20 67 6c 6f 62 61 6c 20 43  racting global C
17170 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 5c 60   symbols from \`
17180 24 61 72 67 27 22 0a 09 20 20 20 20 6e 61 6d 65  $arg'"..    name
17190 3d 60 65 63 68 6f 20 22 24 61 72 67 22 20 7c 20  =`echo "$arg" | 
171a0 24 7b 53 45 44 7d 20 2d 65 20 27 73 25 5e 2e 2a  ${SED} -e 's%^.*
171b0 2f 25 25 27 60 0a 09 20 20 20 20 24 72 75 6e 20  /%%'`..    $run 
171c0 65 76 61 6c 20 27 65 63 68 6f 20 22 3a 20 24 6e  eval 'echo ": $n
171d0 61 6d 65 20 22 20 3e 3e 20 22 24 6e 6c 69 73 74  ame " >> "$nlist
171e0 22 27 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61  "'..    $run eva
171f0 6c 20 22 24 4e 4d 20 24 61 72 67 20 7c 20 24 67  l "$NM $arg | $g
17200 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70  lobal_symbol_pip
17210 65 20 3e 3e 20 27 24 6e 6c 69 73 74 27 22 0a 09  e >> '$nlist'"..
17220 20 20 64 6f 6e 65 0a 0a 09 20 20 69 66 20 74 65    done...  if te
17230 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68  st -z "$run"; th
17240 65 6e 0a 09 20 20 20 20 23 20 4d 61 6b 65 20 73  en..    # Make s
17250 75 72 65 20 77 65 20 68 61 76 65 20 61 74 20 6c  ure we have at l
17260 65 61 73 74 20 61 6e 20 65 6d 70 74 79 20 66 69  east an empty fi
17270 6c 65 2e 0a 09 20 20 20 20 74 65 73 74 20 2d 66  le...    test -f
17280 20 22 24 6e 6c 69 73 74 22 20 7c 7c 20 3a 20 3e   "$nlist" || : >
17290 20 22 24 6e 6c 69 73 74 22 0a 0a 09 20 20 20 20   "$nlist"...    
172a0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78 63  if test -n "$exc
172b0 6c 75 64 65 5f 65 78 70 73 79 6d 73 22 3b 20 74  lude_expsyms"; t
172c0 68 65 6e 0a 09 20 20 20 20 20 20 65 67 72 65 70  hen..      egrep
172d0 20 2d 76 20 22 20 28 24 65 78 63 6c 75 64 65 5f   -v " ($exclude_
172e0 65 78 70 73 79 6d 73 29 24 22 20 22 24 6e 6c 69  expsyms)$" "$nli
172f0 73 74 22 20 3e 20 22 24 6e 6c 69 73 74 22 54 0a  st" > "$nlist"T.
17300 09 20 20 20 20 20 20 24 6d 76 20 22 24 6e 6c 69  .      $mv "$nli
17310 73 74 22 54 20 22 24 6e 6c 69 73 74 22 0a 09 20  st"T "$nlist".. 
17320 20 20 20 66 69 0a 0a 09 20 20 20 20 23 20 54 72     fi...    # Tr
17330 79 20 73 6f 72 74 69 6e 67 20 61 6e 64 20 75 6e  y sorting and un
17340 69 71 75 69 66 79 69 6e 67 20 74 68 65 20 6f 75  iquifying the ou
17350 74 70 75 74 2e 0a 09 20 20 20 20 69 66 20 67 72  tput...    if gr
17360 65 70 20 2d 76 20 22 5e 3a 20 22 20 3c 20 22 24  ep -v "^: " < "$
17370 6e 6c 69 73 74 22 20 7c 0a 09 09 69 66 20 73 6f  nlist" |...if so
17380 72 74 20 2d 6b 20 33 20 3c 2f 64 65 76 2f 6e 75  rt -k 3 </dev/nu
17390 6c 6c 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e  ll >/dev/null 2>
173a0 26 31 3b 20 74 68 65 6e 0a 09 09 20 20 73 6f 72  &1; then...  sor
173b0 74 20 2d 6b 20 33 0a 09 09 65 6c 73 65 0a 09 09  t -k 3...else...
173c0 20 20 73 6f 72 74 20 2b 32 0a 09 09 66 69 20 7c    sort +2...fi |
173d0 0a 09 09 75 6e 69 71 20 3e 20 22 24 6e 6c 69 73  ...uniq > "$nlis
173e0 74 22 53 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  t"S; then..     
173f0 20 3a 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20   :..    else..  
17400 20 20 20 20 67 72 65 70 20 2d 76 20 22 5e 3a 20      grep -v "^: 
17410 22 20 3c 20 22 24 6e 6c 69 73 74 22 20 3e 20 22  " < "$nlist" > "
17420 24 6e 6c 69 73 74 22 53 0a 09 20 20 20 20 66 69  $nlist"S..    fi
17430 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  ...    if test -
17440 66 20 22 24 6e 6c 69 73 74 22 53 3b 20 74 68 65  f "$nlist"S; the
17450 6e 0a 09 20 20 20 20 20 20 65 76 61 6c 20 22 24  n..      eval "$
17460 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 74 6f  global_symbol_to
17470 5f 63 64 65 63 6c 22 27 20 3c 20 22 24 6e 6c 69  _cdecl"' < "$nli
17480 73 74 22 53 20 3e 3e 20 22 24 6f 75 74 70 75 74  st"S >> "$output
17490 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22  _objdir/$dlsyms"
174a0 27 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20  '..    else..   
174b0 20 20 20 65 63 68 6f 20 27 2f 2a 20 4e 4f 4e 45     echo '/* NONE
174c0 20 2a 2f 27 20 3e 3e 20 22 24 6f 75 74 70 75 74   */' >> "$output
174d0 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22  _objdir/$dlsyms"
174e0 0a 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 24  ..    fi...    $
174f0 65 63 68 6f 20 3e 3e 20 22 24 6f 75 74 70 75 74  echo >> "$output
17500 5f 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22  _objdir/$dlsyms"
17510 20 22 5c 0a 0a 23 75 6e 64 65 66 20 6c 74 5f 70   "\..#undef lt_p
17520 72 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73  reloaded_symbols
17530 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 20 28 5f  ..#if defined (_
17540 5f 53 54 44 43 5f 5f 29 20 26 26 20 5f 5f 53 54  _STDC__) && __ST
17550 44 43 5f 5f 0a 23 20 64 65 66 69 6e 65 20 6c 74  DC__.# define lt
17560 5f 70 74 72 20 76 6f 69 64 20 2a 0a 23 65 6c 73  _ptr void *.#els
17570 65 0a 23 20 64 65 66 69 6e 65 20 6c 74 5f 70 74  e.# define lt_pt
17580 72 20 63 68 61 72 20 2a 0a 23 20 64 65 66 69 6e  r char *.# defin
17590 65 20 63 6f 6e 73 74 0a 23 65 6e 64 69 66 0a 0a  e const.#endif..
175a0 2f 2a 20 54 68 65 20 6d 61 70 70 69 6e 67 20 62  /* The mapping b
175b0 65 74 77 65 65 6e 20 73 79 6d 62 6f 6c 20 6e 61  etween symbol na
175c0 6d 65 73 20 61 6e 64 20 73 79 6d 62 6f 6c 73 2e  mes and symbols.
175d0 20 2a 2f 0a 63 6f 6e 73 74 20 73 74 72 75 63 74   */.const struct
175e0 20 7b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20   {.  const char 
175f0 2a 6e 61 6d 65 3b 0a 20 20 6c 74 5f 70 74 72 20  *name;.  lt_ptr 
17600 61 64 64 72 65 73 73 3b 0a 7d 0a 6c 74 5f 70 72  address;.}.lt_pr
17610 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 5b  eloaded_symbols[
17620 5d 20 3d 0a 7b 5c 0a 22 0a 0a 09 20 20 20 20 65  ] =.{\."...    e
17630 76 61 6c 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d  val "$global_sym
17640 62 6f 6c 5f 74 6f 5f 63 5f 6e 61 6d 65 5f 61 64  bol_to_c_name_ad
17650 64 72 65 73 73 22 20 3c 20 22 24 6e 6c 69 73 74  dress" < "$nlist
17660 22 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62  " >> "$output_ob
17670 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a 0a 09  jdir/$dlsyms"...
17680 20 20 20 20 24 65 63 68 6f 20 3e 3e 20 22 24 6f      $echo >> "$o
17690 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c  utput_objdir/$dl
176a0 73 79 6d 73 22 20 22 5c 0a 20 20 7b 30 2c 20 28  syms" "\.  {0, (
176b0 6c 74 5f 70 74 72 29 20 30 7d 0a 7d 3b 0a 0a 2f  lt_ptr) 0}.};../
176c0 2a 20 54 68 69 73 20 77 6f 72 6b 73 20 61 72 6f  * This works aro
176d0 75 6e 64 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e  und a problem in
176e0 20 46 72 65 65 42 53 44 20 6c 69 6e 6b 65 72 20   FreeBSD linker 
176f0 2a 2f 0a 23 69 66 64 65 66 20 46 52 45 45 42 53  */.#ifdef FREEBS
17700 44 5f 57 4f 52 4b 41 52 4f 55 4e 44 0a 73 74 61  D_WORKAROUND.sta
17710 74 69 63 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a  tic const void *
17720 6c 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73 65 74  lt_preloaded_set
17730 75 70 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20  up() {.  return 
17740 6c 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73 79 6d  lt_preloaded_sym
17750 62 6f 6c 73 3b 0a 7d 0a 23 65 6e 64 69 66 0a 0a  bols;.}.#endif..
17760 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c  #ifdef __cpluspl
17770 75 73 0a 7d 0a 23 65 6e 64 69 66 5c 0a 22 0a 09  us.}.#endif\."..
17780 20 20 66 69 0a 0a 09 20 20 70 69 63 5f 66 6c 61    fi...  pic_fla
17790 67 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 3d 0a  g_for_symtable=.
177a0 09 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e  .  case $host in
177b0 0a 09 20 20 23 20 63 6f 6d 70 69 6c 69 6e 67 20  ..  # compiling 
177c0 74 68 65 20 73 79 6d 62 6f 6c 20 74 61 62 6c 65  the symbol table
177d0 20 66 69 6c 65 20 77 69 74 68 20 70 69 63 5f 66   file with pic_f
177e0 6c 61 67 20 77 6f 72 6b 73 20 61 72 6f 75 6e 64  lag works around
177f0 0a 09 20 20 23 20 61 20 46 72 65 65 42 53 44 20  ..  # a FreeBSD 
17800 62 75 67 20 74 68 61 74 20 63 61 75 73 65 73 20  bug that causes 
17810 70 72 6f 67 72 61 6d 73 20 74 6f 20 63 72 61 73  programs to cras
17820 68 20 77 68 65 6e 20 2d 6c 6d 20 69 73 0a 09 20  h when -lm is.. 
17830 20 23 20 6c 69 6e 6b 65 64 20 62 65 66 6f 72 65   # linked before
17840 20 61 6e 79 20 6f 74 68 65 72 20 50 49 43 20 6f   any other PIC o
17850 62 6a 65 63 74 2e 20 20 42 75 74 20 77 65 20 6d  bject.  But we m
17860 75 73 74 20 6e 6f 74 20 75 73 65 0a 09 20 20 23  ust not use..  #
17870 20 70 69 63 5f 66 6c 61 67 20 77 68 65 6e 20 6c   pic_flag when l
17880 69 6e 6b 69 6e 67 20 77 69 74 68 20 2d 73 74 61  inking with -sta
17890 74 69 63 2e 20 20 54 68 65 20 70 72 6f 62 6c 65  tic.  The proble
178a0 6d 20 65 78 69 73 74 73 20 69 6e 0a 09 20 20 23  m exists in..  #
178b0 20 46 72 65 65 42 53 44 20 32 2e 32 2e 36 20 61   FreeBSD 2.2.6 a
178c0 6e 64 20 69 73 20 66 69 78 65 64 20 69 6e 20 46  nd is fixed in F
178d0 72 65 65 42 53 44 20 33 2e 31 2e 0a 09 20 20 2a  reeBSD 3.1...  *
178e0 2d 2a 2d 66 72 65 65 62 73 64 32 2a 7c 2a 2d 2a  -*-freebsd2*|*-*
178f0 2d 66 72 65 65 62 73 64 33 2e 30 2a 7c 2a 2d 2a  -freebsd3.0*|*-*
17900 2d 66 72 65 65 62 73 64 65 6c 66 33 2e 30 2a 29  -freebsdelf3.0*)
17910 0a 09 20 20 20 20 63 61 73 65 20 22 24 63 6f 6d  ..    case "$com
17920 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 22 20 69  pile_command " i
17930 6e 0a 09 20 20 20 20 2a 22 20 2d 73 74 61 74 69  n..    *" -stati
17940 63 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29  c "*) ;;..    *)
17950 20 70 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79   pic_flag_for_sy
17960 6d 74 61 62 6c 65 3d 22 20 24 70 69 63 5f 66 6c  mtable=" $pic_fl
17970 61 67 20 2d 44 50 49 43 20 2d 44 46 52 45 45 42  ag -DPIC -DFREEB
17980 53 44 5f 57 4f 52 4b 41 52 4f 55 4e 44 22 3b 3b  SD_WORKAROUND";;
17990 0a 09 20 20 20 20 65 73 61 63 3b 3b 0a 09 20 20  ..    esac;;..  
179a0 2a 2d 2a 2d 68 70 75 78 2a 29 0a 09 20 20 20 20  *-*-hpux*)..    
179b0 63 61 73 65 20 22 24 63 6f 6d 70 69 6c 65 5f 63  case "$compile_c
179c0 6f 6d 6d 61 6e 64 20 22 20 69 6e 0a 09 20 20 20  ommand " in..   
179d0 20 2a 22 20 2d 73 74 61 74 69 63 20 22 2a 29 20   *" -static "*) 
179e0 3b 3b 0a 09 20 20 20 20 2a 29 20 70 69 63 5f 66  ;;..    *) pic_f
179f0 6c 61 67 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65  lag_for_symtable
17a00 3d 22 20 24 70 69 63 5f 66 6c 61 67 20 2d 44 50  =" $pic_flag -DP
17a10 49 43 22 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a  IC";;..    esac.
17a20 09 20 20 65 73 61 63 0a 0a 09 20 20 23 20 4e 6f  .  esac...  # No
17a30 77 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 64 79  w compile the dy
17a40 6e 61 6d 69 63 20 73 79 6d 62 6f 6c 20 66 69 6c  namic symbol fil
17a50 65 2e 0a 09 20 20 24 73 68 6f 77 20 22 28 63 64  e...  $show "(cd
17a60 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 20   $output_objdir 
17a70 26 26 20 24 43 43 20 2d 63 24 6e 6f 5f 62 75 69  && $CC -c$no_bui
17a80 6c 74 69 6e 5f 66 6c 61 67 24 70 69 63 5f 66 6c  ltin_flag$pic_fl
17a90 61 67 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 20  ag_for_symtable 
17aa0 5c 22 24 64 6c 73 79 6d 73 5c 22 29 22 0a 09 20  \"$dlsyms\")".. 
17ab0 20 24 72 75 6e 20 65 76 61 6c 20 27 28 63 64 20   $run eval '(cd 
17ac0 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 20 26  $output_objdir &
17ad0 26 20 24 43 43 20 2d 63 24 6e 6f 5f 62 75 69 6c  & $CC -c$no_buil
17ae0 74 69 6e 5f 66 6c 61 67 24 70 69 63 5f 66 6c 61  tin_flag$pic_fla
17af0 67 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 20 22  g_for_symtable "
17b00 24 64 6c 73 79 6d 73 22 29 27 20 7c 7c 20 65 78  $dlsyms")' || ex
17b10 69 74 20 24 3f 0a 0a 09 20 20 23 20 43 6c 65 61  it $?...  # Clea
17b20 6e 20 75 70 20 74 68 65 20 67 65 6e 65 72 61 74  n up the generat
17b30 65 64 20 66 69 6c 65 73 2e 0a 09 20 20 24 73 68  ed files...  $sh
17b40 6f 77 20 22 24 72 6d 20 24 6f 75 74 70 75 74 5f  ow "$rm $output_
17b50 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 20 24  objdir/$dlsyms $
17b60 6e 6c 69 73 74 20 24 7b 6e 6c 69 73 74 7d 53 20  nlist ${nlist}S 
17b70 24 7b 6e 6c 69 73 74 7d 54 22 0a 09 20 20 24 72  ${nlist}T"..  $r
17b80 75 6e 20 24 72 6d 20 22 24 6f 75 74 70 75 74 5f  un $rm "$output_
17b90 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 20  objdir/$dlsyms" 
17ba0 22 24 6e 6c 69 73 74 22 20 22 24 7b 6e 6c 69 73  "$nlist" "${nlis
17bb0 74 7d 53 22 20 22 24 7b 6e 6c 69 73 74 7d 54 22  t}S" "${nlist}T"
17bc0 0a 0a 09 20 20 23 20 54 72 61 6e 73 66 6f 72 6d  ...  # Transform
17bd0 20 74 68 65 20 73 79 6d 62 6f 6c 20 66 69 6c 65   the symbol file
17be0 20 69 6e 74 6f 20 74 68 65 20 63 6f 72 72 65 63   into the correc
17bf0 74 20 6e 61 6d 65 2e 0a 09 20 20 63 6f 6d 70 69  t name...  compi
17c00 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68  le_command=`$ech
17c10 6f 20 22 58 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  o "X$compile_com
17c20 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65  mand" | $Xsed -e
17c30 20 22 73 25 40 53 59 4d 46 49 4c 45 40 25 24 6f   "s%@SYMFILE@%$o
17c40 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f  utput_objdir/${o
17c50 75 74 70 75 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62  utputname}S.${ob
17c60 6a 65 78 74 7d 25 22 60 0a 09 20 20 66 69 6e 61  jext}%"`..  fina
17c70 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65  lize_command=`$e
17c80 63 68 6f 20 22 58 24 66 69 6e 61 6c 69 7a 65 5f  cho "X$finalize_
17c90 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64  command" | $Xsed
17ca0 20 2d 65 20 22 73 25 40 53 59 4d 46 49 4c 45 40   -e "s%@SYMFILE@
17cb0 25 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f  %$output_objdir/
17cc0 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 53 2e 24  ${outputname}S.$
17cd0 7b 6f 62 6a 65 78 74 7d 25 22 60 0a 09 20 20 3b  {objext}%"`..  ;
17ce0 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f 20 22  ;..*)..  $echo "
17cf0 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 6e 6b 6e 6f  $modename: unkno
17d00 77 6e 20 73 75 66 66 69 78 20 66 6f 72 20 5c 60  wn suffix for \`
17d10 24 64 6c 73 79 6d 73 27 22 20 31 3e 26 32 0a 09  $dlsyms'" 1>&2..
17d20 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09    exit 1..  ;;..
17d30 65 73 61 63 0a 20 20 20 20 20 20 65 6c 73 65 0a  esac.      else.
17d40 09 23 20 57 65 20 6b 65 65 70 20 67 6f 69 6e 67  .# We keep going
17d50 20 6a 75 73 74 20 69 6e 20 63 61 73 65 20 74 68   just in case th
17d60 65 20 75 73 65 72 20 64 69 64 6e 27 74 20 72 65  e user didn't re
17d70 66 65 72 20 74 6f 0a 09 23 20 6c 74 5f 70 72 65  fer to..# lt_pre
17d80 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 2e 20  loaded_symbols. 
17d90 20 54 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c   The linker will
17da0 20 66 61 69 6c 20 69 66 20 67 6c 6f 62 61 6c 5f   fail if global_
17db0 73 79 6d 62 6f 6c 5f 70 69 70 65 0a 09 23 20 72  symbol_pipe..# r
17dc0 65 61 6c 6c 79 20 77 61 73 20 72 65 71 75 69 72  eally was requir
17dd0 65 64 2e 0a 0a 09 23 20 4e 75 6c 6c 69 66 79 20  ed....# Nullify 
17de0 74 68 65 20 73 79 6d 62 6f 6c 20 66 69 6c 65 2e  the symbol file.
17df0 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e  ..compile_comman
17e00 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70  d=`$echo "X$comp
17e10 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ile_command" | $
17e20 58 73 65 64 20 2d 65 20 22 73 25 20 40 53 59 4d  Xsed -e "s% @SYM
17e30 46 49 4c 45 40 25 25 22 60 0a 09 66 69 6e 61 6c  FILE@%%"`..final
17e40 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63  ize_command=`$ec
17e50 68 6f 20 22 58 24 66 69 6e 61 6c 69 7a 65 5f 63  ho "X$finalize_c
17e60 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20  ommand" | $Xsed 
17e70 2d 65 20 22 73 25 20 40 53 59 4d 46 49 4c 45 40  -e "s% @SYMFILE@
17e80 25 25 22 60 0a 20 20 20 20 20 20 66 69 0a 0a 20  %%"`.      fi.. 
17e90 20 20 20 20 20 69 66 20 74 65 73 74 20 24 6e 65       if test $ne
17ea0 65 64 5f 72 65 6c 69 6e 6b 20 3d 20 6e 6f 20 7c  ed_relink = no |
17eb0 7c 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c  | test "$build_l
17ec0 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20  ibtool_libs" != 
17ed0 79 65 73 3b 20 74 68 65 6e 0a 09 23 20 52 65 70  yes; then..# Rep
17ee0 6c 61 63 65 20 74 68 65 20 6f 75 74 70 75 74 20  lace the output 
17ef0 66 69 6c 65 20 73 70 65 63 69 66 69 63 61 74 69  file specificati
17f00 6f 6e 2e 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f 6d  on...compile_com
17f10 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 63  mand=`$echo "X$c
17f20 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20  ompile_command" 
17f30 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 40 4f  | $Xsed -e 's%@O
17f40 55 54 50 55 54 40 25 27 22 24 6f 75 74 70 75 74  UTPUT@%'"$output
17f50 22 27 25 67 27 60 0a 09 6c 69 6e 6b 5f 63 6f 6d  "'%g'`..link_com
17f60 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63  mand="$compile_c
17f70 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72  ommand$compile_r
17f80 70 61 74 68 22 0a 0a 09 23 20 57 65 20 68 61 76  path"...# We hav
17f90 65 20 6e 6f 20 75 6e 69 6e 73 74 61 6c 6c 65 64  e no uninstalled
17fa0 20 6c 69 62 72 61 72 79 20 64 65 70 65 6e 64 65   library depende
17fb0 6e 63 69 65 73 2c 20 73 6f 20 66 69 6e 61 6c 69  ncies, so finali
17fc0 7a 65 20 72 69 67 68 74 20 6e 6f 77 2e 0a 09 24  ze right now...$
17fd0 73 68 6f 77 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d  show "$link_comm
17fe0 61 6e 64 22 0a 09 24 72 75 6e 20 65 76 61 6c 20  and"..$run eval 
17ff0 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a  "$link_command".
18000 09 73 74 61 74 75 73 3d 24 3f 0a 0a 09 23 20 44  .status=$?...# D
18010 65 6c 65 74 65 20 74 68 65 20 67 65 6e 65 72 61  elete the genera
18020 74 65 64 20 66 69 6c 65 73 2e 0a 09 69 66 20 74  ted files...if t
18030 65 73 74 20 2d 6e 20 22 24 64 6c 73 79 6d 73 22  est -n "$dlsyms"
18040 3b 20 74 68 65 6e 0a 09 20 20 24 73 68 6f 77 20  ; then..  $show 
18050 22 24 72 6d 20 24 6f 75 74 70 75 74 5f 6f 62 6a  "$rm $output_obj
18060 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65  dir/${outputname
18070 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a 09 20  }S.${objext}".. 
18080 20 24 72 75 6e 20 24 72 6d 20 22 24 6f 75 74 70   $run $rm "$outp
18090 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70  ut_objdir/${outp
180a0 75 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78  utname}S.${objex
180b0 74 7d 22 0a 09 66 69 0a 0a 09 65 78 69 74 20 24  t}"..fi...exit $
180c0 73 74 61 74 75 73 0a 20 20 20 20 20 20 66 69 0a  status.      fi.
180d0 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
180e0 6e 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61  n "$shlibpath_va
180f0 72 22 3b 20 74 68 65 6e 0a 09 23 20 57 65 20 73  r"; then..# We s
18100 68 6f 75 6c 64 20 73 65 74 20 74 68 65 20 73 68  hould set the sh
18110 6c 69 62 70 61 74 68 5f 76 61 72 0a 09 72 70 61  libpath_var..rpa
18120 74 68 3d 0a 09 66 6f 72 20 64 69 72 20 69 6e 20  th=..for dir in 
18130 24 74 65 6d 70 5f 72 70 61 74 68 3b 20 64 6f 0a  $temp_rpath; do.
18140 09 20 20 63 61 73 65 20 24 64 69 72 20 69 6e 0a  .  case $dir in.
18150 09 20 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a  .  [\\/]* | [A-Z
18160 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 0a 09 20 20  a-z]:[\\/]*)..  
18170 20 20 23 20 41 62 73 6f 6c 75 74 65 20 70 61 74    # Absolute pat
18180 68 2e 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24  h...    rpath="$
18190 72 70 61 74 68 24 64 69 72 3a 22 0a 09 20 20 20  rpath$dir:"..   
181a0 20 3b 3b 0a 09 20 20 2a 29 0a 09 20 20 20 20 23   ;;..  *)..    #
181b0 20 52 65 6c 61 74 69 76 65 20 70 61 74 68 3a 20   Relative path: 
181c0 61 64 64 20 61 20 74 68 69 73 64 69 72 20 65 6e  add a thisdir en
181d0 74 72 79 2e 0a 09 20 20 20 20 72 70 61 74 68 3d  try...    rpath=
181e0 22 24 72 70 61 74 68 5c 24 74 68 69 73 64 69 72  "$rpath\$thisdir
181f0 2f 24 64 69 72 3a 22 0a 09 20 20 20 20 3b 3b 0a  /$dir:"..    ;;.
18200 09 20 20 65 73 61 63 0a 09 64 6f 6e 65 0a 09 74  .  esac..done..t
18210 65 6d 70 5f 72 70 61 74 68 3d 22 24 72 70 61 74  emp_rpath="$rpat
18220 68 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  h".      fi..   
18230 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
18240 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61 74  compile_shlibpat
18250 68 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62  h$finalize_shlib
18260 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 63 6f 6d  path"; then..com
18270 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 73  pile_command="$s
18280 68 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 22 24  hlibpath_var=\"$
18290 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61 74  compile_shlibpat
182a0 68 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62  h$finalize_shlib
182b0 70 61 74 68 5c 24 24 73 68 6c 69 62 70 61 74 68  path\$$shlibpath
182c0 5f 76 61 72 5c 22 20 24 63 6f 6d 70 69 6c 65 5f  _var\" $compile_
182d0 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20 20 20 66  command".      f
182e0 69 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  i.      if test 
182f0 2d 6e 20 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68  -n "$finalize_sh
18300 6c 69 62 70 61 74 68 22 3b 20 74 68 65 6e 0a 09  libpath"; then..
18310 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
18320 3d 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  ="$shlibpath_var
18330 3d 5c 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c  =\"$finalize_shl
18340 69 62 70 61 74 68 5c 24 24 73 68 6c 69 62 70 61  ibpath\$$shlibpa
18350 74 68 5f 76 61 72 5c 22 20 24 66 69 6e 61 6c 69  th_var\" $finali
18360 7a 65 5f 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20  ze_command".    
18370 20 20 66 69 0a 0a 20 20 20 20 20 20 63 6f 6d 70    fi..      comp
18380 69 6c 65 5f 76 61 72 3d 0a 20 20 20 20 20 20 66  ile_var=.      f
18390 69 6e 61 6c 69 7a 65 5f 76 61 72 3d 0a 20 20 20  inalize_var=.   
183a0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
183b0 72 75 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68  runpath_var"; th
183c0 65 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22  en..if test -n "
183d0 24 70 65 72 6d 5f 72 70 61 74 68 22 3b 20 74 68  $perm_rpath"; th
183e0 65 6e 0a 09 20 20 23 20 57 65 20 73 68 6f 75 6c  en..  # We shoul
183f0 64 20 73 65 74 20 74 68 65 20 72 75 6e 70 61 74  d set the runpat
18400 68 5f 76 61 72 2e 0a 09 20 20 72 70 61 74 68 3d  h_var...  rpath=
18410 0a 09 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24  ..  for dir in $
18420 70 65 72 6d 5f 72 70 61 74 68 3b 20 64 6f 0a 09  perm_rpath; do..
18430 20 20 20 20 72 70 61 74 68 3d 22 24 72 70 61 74      rpath="$rpat
18440 68 24 64 69 72 3a 22 0a 09 20 20 64 6f 6e 65 0a  h$dir:"..  done.
18450 09 20 20 63 6f 6d 70 69 6c 65 5f 76 61 72 3d 22  .  compile_var="
18460 24 72 75 6e 70 61 74 68 5f 76 61 72 3d 5c 22 24  $runpath_var=\"$
18470 72 70 61 74 68 5c 24 24 72 75 6e 70 61 74 68 5f  rpath\$$runpath_
18480 76 61 72 5c 22 20 22 0a 09 66 69 0a 09 69 66 20  var\" "..fi..if 
18490 74 65 73 74 20 2d 6e 20 22 24 66 69 6e 61 6c 69  test -n "$finali
184a0 7a 65 5f 70 65 72 6d 5f 72 70 61 74 68 22 3b 20  ze_perm_rpath"; 
184b0 74 68 65 6e 0a 09 20 20 23 20 57 65 20 73 68 6f  then..  # We sho
184c0 75 6c 64 20 73 65 74 20 74 68 65 20 72 75 6e 70  uld set the runp
184d0 61 74 68 5f 76 61 72 2e 0a 09 20 20 72 70 61 74  ath_var...  rpat
184e0 68 3d 0a 09 20 20 66 6f 72 20 64 69 72 20 69 6e  h=..  for dir in
184f0 20 24 66 69 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f   $finalize_perm_
18500 72 70 61 74 68 3b 20 64 6f 0a 09 20 20 20 20 72  rpath; do..    r
18510 70 61 74 68 3d 22 24 72 70 61 74 68 24 64 69 72  path="$rpath$dir
18520 3a 22 0a 09 20 20 64 6f 6e 65 0a 09 20 20 66 69  :"..  done..  fi
18530 6e 61 6c 69 7a 65 5f 76 61 72 3d 22 24 72 75 6e  nalize_var="$run
18540 70 61 74 68 5f 76 61 72 3d 5c 22 24 72 70 61 74  path_var=\"$rpat
18550 68 5c 24 24 72 75 6e 70 61 74 68 5f 76 61 72 5c  h\$$runpath_var\
18560 22 20 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69  " "..fi.      fi
18570 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
18580 22 24 6e 6f 5f 69 6e 73 74 61 6c 6c 22 20 3d 20  "$no_install" = 
18590 79 65 73 3b 20 74 68 65 6e 0a 09 23 20 57 65 20  yes; then..# We 
185a0 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 63 72  don't need to cr
185b0 65 61 74 65 20 61 20 77 72 61 70 70 65 72 20 73  eate a wrapper s
185c0 63 72 69 70 74 2e 0a 09 6c 69 6e 6b 5f 63 6f 6d  cript...link_com
185d0 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 76  mand="$compile_v
185e0 61 72 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  ar$compile_comma
185f0 6e 64 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68  nd$compile_rpath
18600 22 0a 09 23 20 52 65 70 6c 61 63 65 20 74 68 65  "..# Replace the
18610 20 6f 75 74 70 75 74 20 66 69 6c 65 20 73 70 65   output file spe
18620 63 69 66 69 63 61 74 69 6f 6e 2e 0a 09 6c 69 6e  cification...lin
18630 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f  k_command=`$echo
18640 20 22 58 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64   "X$link_command
18650 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
18660 40 4f 55 54 50 55 54 40 25 27 22 24 6f 75 74 70  @OUTPUT@%'"$outp
18670 75 74 22 27 25 67 27 60 0a 09 23 20 44 65 6c 65  ut"'%g'`..# Dele
18680 74 65 20 74 68 65 20 6f 6c 64 20 6f 75 74 70 75  te the old outpu
18690 74 20 66 69 6c 65 2e 0a 09 24 72 75 6e 20 24 72  t file...$run $r
186a0 6d 20 24 6f 75 74 70 75 74 0a 09 23 20 4c 69 6e  m $output..# Lin
186b0 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  k the executable
186c0 20 61 6e 64 20 65 78 69 74 0a 09 24 73 68 6f 77   and exit..$show
186d0 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22   "$link_command"
186e0 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 6c 69  ..$run eval "$li
186f0 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 7c 20 65  nk_command" || e
18700 78 69 74 20 24 3f 0a 09 65 78 69 74 20 30 0a 20  xit $?..exit 0. 
18710 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69       fi..      i
18720 66 20 74 65 73 74 20 22 24 68 61 72 64 63 6f 64  f test "$hardcod
18730 65 5f 61 63 74 69 6f 6e 22 20 3d 20 72 65 6c 69  e_action" = reli
18740 6e 6b 3b 20 74 68 65 6e 0a 09 23 20 46 61 73 74  nk; then..# Fast
18750 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 69 73   installation is
18760 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 0a 09   not supported..
18770 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63  link_command="$c
18780 6f 6d 70 69 6c 65 5f 76 61 72 24 63 6f 6d 70 69  ompile_var$compi
18790 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69  le_command$compi
187a0 6c 65 5f 72 70 61 74 68 22 0a 09 72 65 6c 69 6e  le_rpath"..relin
187b0 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61  k_command="$fina
187c0 6c 69 7a 65 5f 76 61 72 24 66 69 6e 61 6c 69 7a  lize_var$finaliz
187d0 65 5f 63 6f 6d 6d 61 6e 64 24 66 69 6e 61 6c 69  e_command$finali
187e0 7a 65 5f 72 70 61 74 68 22 0a 0a 09 24 65 63 68  ze_rpath"...$ech
187f0 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61  o "$modename: wa
18800 72 6e 69 6e 67 3a 20 74 68 69 73 20 70 6c 61 74  rning: this plat
18810 66 6f 72 6d 20 64 6f 65 73 20 6e 6f 74 20 6c 69  form does not li
18820 6b 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 73  ke uninstalled s
18830 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 22  hared libraries"
18840 20 31 3e 26 32 0a 09 24 65 63 68 6f 20 22 24 6d   1>&2..$echo "$m
18850 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 6f 75 74 70  odename: \`$outp
18860 75 74 27 20 77 69 6c 6c 20 62 65 20 72 65 6c 69  ut' will be reli
18870 6e 6b 65 64 20 64 75 72 69 6e 67 20 69 6e 73 74  nked during inst
18880 61 6c 6c 61 74 69 6f 6e 22 20 31 3e 26 32 0a 20  allation" 1>&2. 
18890 20 20 20 20 20 65 6c 73 65 0a 09 69 66 20 74 65       else..if te
188a0 73 74 20 22 24 66 61 73 74 5f 69 6e 73 74 61 6c  st "$fast_instal
188b0 6c 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  l" != no; then..
188c0 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22    link_command="
188d0 24 66 69 6e 61 6c 69 7a 65 5f 76 61 72 24 63 6f  $finalize_var$co
188e0 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 66 69  mpile_command$fi
188f0 6e 61 6c 69 7a 65 5f 72 70 61 74 68 22 0a 09 20  nalize_rpath".. 
18900 20 69 66 20 74 65 73 74 20 22 24 66 61 73 74 5f   if test "$fast_
18910 69 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73 3b 20  install" = yes; 
18920 74 68 65 6e 0a 09 20 20 20 20 72 65 6c 69 6e 6b  then..    relink
18930 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20  _command=`$echo 
18940 22 58 24 63 6f 6d 70 69 6c 65 5f 76 61 72 24 63  "X$compile_var$c
18950 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63  ompile_command$c
18960 6f 6d 70 69 6c 65 5f 72 70 61 74 68 22 20 7c 20  ompile_rpath" | 
18970 24 58 73 65 64 20 2d 65 20 27 73 25 40 4f 55 54  $Xsed -e 's%@OUT
18980 50 55 54 40 25 5c 24 70 72 6f 67 64 69 72 2f 5c  PUT@%\$progdir/\
18990 24 66 69 6c 65 25 67 27 60 0a 09 20 20 65 6c 73  $file%g'`..  els
189a0 65 0a 09 20 20 20 20 23 20 66 61 73 74 5f 69 6e  e..    # fast_in
189b0 73 74 61 6c 6c 20 69 73 20 73 65 74 20 74 6f 20  stall is set to 
189c0 6e 65 65 64 6c 65 73 73 0a 09 20 20 20 20 72 65  needless..    re
189d0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a 09 20  link_command=.. 
189e0 20 66 69 0a 09 65 6c 73 65 0a 09 20 20 6c 69 6e   fi..else..  lin
189f0 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  k_command="$comp
18a00 69 6c 65 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f  ile_var$compile_
18a10 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f  command$compile_
18a20 72 70 61 74 68 22 0a 09 20 20 72 65 6c 69 6e 6b  rpath"..  relink
18a30 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c  _command="$final
18a40 69 7a 65 5f 76 61 72 24 66 69 6e 61 6c 69 7a 65  ize_var$finalize
18a50 5f 63 6f 6d 6d 61 6e 64 24 66 69 6e 61 6c 69 7a  _command$finaliz
18a60 65 5f 72 70 61 74 68 22 0a 09 66 69 0a 20 20 20  e_rpath"..fi.   
18a70 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 52     fi..      # R
18a80 65 70 6c 61 63 65 20 74 68 65 20 6f 75 74 70 75  eplace the outpu
18a90 74 20 66 69 6c 65 20 73 70 65 63 69 66 69 63 61  t file specifica
18aa0 74 69 6f 6e 2e 0a 20 20 20 20 20 20 6c 69 6e 6b  tion..      link
18ab0 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20  _command=`$echo 
18ac0 22 58 24 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  "X$link_command"
18ad0 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 40   | $Xsed -e 's%@
18ae0 4f 55 54 50 55 54 40 25 27 22 24 6f 75 74 70 75  OUTPUT@%'"$outpu
18af0 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74  t_objdir/$output
18b00 6e 61 6d 65 22 27 25 67 27 60 0a 0a 20 20 20 20  name"'%g'`..    
18b10 20 20 23 20 44 65 6c 65 74 65 20 74 68 65 20 6f    # Delete the o
18b20 6c 64 20 6f 75 74 70 75 74 20 66 69 6c 65 73 2e  ld output files.
18b30 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20  .      $run $rm 
18b40 24 6f 75 74 70 75 74 20 24 6f 75 74 70 75 74 5f  $output $output_
18b50 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 6e 61  objdir/$outputna
18b60 6d 65 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  me $output_objdi
18b70 72 2f 6c 74 2d 24 6f 75 74 70 75 74 6e 61 6d 65  r/lt-$outputname
18b80 0a 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 24  ..      $show "$
18b90 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 20 20  link_command".  
18ba0 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24      $run eval "$
18bb0 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 7c  link_command" ||
18bc0 20 65 78 69 74 20 24 3f 0a 0a 20 20 20 20 20 20   exit $?..      
18bd0 23 20 4e 6f 77 20 63 72 65 61 74 65 20 74 68 65  # Now create the
18be0 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 2e   wrapper script.
18bf0 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 63 72  .      $show "cr
18c00 65 61 74 69 6e 67 20 24 6f 75 74 70 75 74 22 0a  eating $output".
18c10 0a 20 20 20 20 20 20 23 20 51 75 6f 74 65 20 74  .      # Quote t
18c20 68 65 20 72 65 6c 69 6e 6b 20 63 6f 6d 6d 61 6e  he relink comman
18c30 64 20 66 6f 72 20 73 68 69 70 70 69 6e 67 2e 0a  d for shipping..
18c40 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
18c50 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e   "$relink_comman
18c60 64 22 3b 20 74 68 65 6e 0a 09 23 20 50 72 65 73  d"; then..# Pres
18c70 65 72 76 65 20 61 6e 79 20 76 61 72 69 61 62 6c  erve any variabl
18c80 65 73 20 74 68 61 74 20 6d 61 79 20 61 66 66 65  es that may affe
18c90 63 74 20 63 6f 6d 70 69 6c 65 72 20 62 65 68 61  ct compiler beha
18ca0 76 69 6f 72 0a 09 66 6f 72 20 76 61 72 20 69 6e  vior..for var in
18cb0 20 24 76 61 72 69 61 62 6c 65 73 5f 73 61 76 65   $variables_save
18cc0 64 5f 66 6f 72 5f 72 65 6c 69 6e 6b 3b 20 64 6f  d_for_relink; do
18cd0 0a 09 20 20 69 66 20 65 76 61 6c 20 74 65 73 74  ..  if eval test
18ce0 20 2d 7a 20 5c 22 5c 24 7b 24 76 61 72 2b 73 65   -z \"\${$var+se
18cf0 74 7d 5c 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  t}\"; then..    
18d00 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22  relink_command="
18d10 7b 20 74 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24  { test -z \"\${$
18d20 76 61 72 2b 73 65 74 7d 5c 22 20 7c 7c 20 75 6e  var+set}\" || un
18d30 73 65 74 20 24 76 61 72 20 7c 7c 20 7b 20 24 76  set $var || { $v
18d40 61 72 3d 3b 20 65 78 70 6f 72 74 20 24 76 61 72  ar=; export $var
18d50 3b 20 7d 3b 20 7d 3b 20 24 72 65 6c 69 6e 6b 5f  ; }; }; $relink_
18d60 63 6f 6d 6d 61 6e 64 22 0a 09 20 20 65 6c 69 66  command"..  elif
18d70 20 65 76 61 6c 20 76 61 72 5f 76 61 6c 75 65 3d   eval var_value=
18d80 5c 24 24 76 61 72 3b 20 74 65 73 74 20 2d 7a 20  \$$var; test -z 
18d90 22 24 76 61 72 5f 76 61 6c 75 65 22 3b 20 74 68  "$var_value"; th
18da0 65 6e 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63  en..    relink_c
18db0 6f 6d 6d 61 6e 64 3d 22 24 76 61 72 3d 3b 20 65  ommand="$var=; e
18dc0 78 70 6f 72 74 20 24 76 61 72 3b 20 24 72 65 6c  xport $var; $rel
18dd0 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 20 20  ink_command"..  
18de0 65 6c 73 65 0a 09 20 20 20 20 76 61 72 5f 76 61  else..    var_va
18df0 6c 75 65 3d 60 24 65 63 68 6f 20 22 58 24 76 61  lue=`$echo "X$va
18e00 72 5f 76 61 6c 75 65 22 20 7c 20 24 58 73 65 64  r_value" | $Xsed
18e10 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f   -e "$sed_quote_
18e20 73 75 62 73 74 22 60 0a 09 20 20 20 20 72 65 6c  subst"`..    rel
18e30 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 76 61  ink_command="$va
18e40 72 3d 5c 22 24 76 61 72 5f 76 61 6c 75 65 5c 22  r=\"$var_value\"
18e50 3b 20 65 78 70 6f 72 74 20 24 76 61 72 3b 20 24  ; export $var; $
18e60 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a  relink_command".
18e70 09 20 20 66 69 0a 09 64 6f 6e 65 0a 09 72 65 6c  .  fi..done..rel
18e80 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 28 63 64  ink_command="(cd
18e90 20 60 70 77 64 60 3b 20 24 72 65 6c 69 6e 6b 5f   `pwd`; $relink_
18ea0 63 6f 6d 6d 61 6e 64 29 22 0a 09 72 65 6c 69 6e  command)"..relin
18eb0 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f  k_command=`$echo
18ec0 20 22 58 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61   "X$relink_comma
18ed0 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  nd" | $Xsed -e "
18ee0 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74  $sed_quote_subst
18ef0 22 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  "`.      fi..   
18f00 20 20 20 23 20 51 75 6f 74 65 20 24 65 63 68 6f     # Quote $echo
18f10 20 66 6f 72 20 73 68 69 70 70 69 6e 67 2e 0a 20   for shipping.. 
18f20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24       if test "X$
18f30 65 63 68 6f 22 20 3d 20 22 58 24 53 48 45 4c 4c  echo" = "X$SHELL
18f40 20 24 30 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65   $0 --fallback-e
18f50 63 68 6f 22 3b 20 74 68 65 6e 0a 09 63 61 73 65  cho"; then..case
18f60 20 24 30 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c   $0 in..[\\/]* |
18f70 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a   [A-Za-z]:[\\/]*
18f80 29 20 71 65 63 68 6f 3d 22 24 53 48 45 4c 4c 20  ) qecho="$SHELL 
18f90 24 30 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63  $0 --fallback-ec
18fa0 68 6f 22 3b 3b 0a 09 2a 29 20 71 65 63 68 6f 3d  ho";;..*) qecho=
18fb0 22 24 53 48 45 4c 4c 20 60 70 77 64 60 2f 24 30  "$SHELL `pwd`/$0
18fc0 20 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63 68 6f   --fallback-echo
18fd0 22 3b 3b 0a 09 65 73 61 63 0a 09 71 65 63 68 6f  ";;..esac..qecho
18fe0 3d 60 24 65 63 68 6f 20 22 58 24 71 65 63 68 6f  =`$echo "X$qecho
18ff0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73  " | $Xsed -e "$s
19000 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60  ed_quote_subst"`
19010 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 71 65 63  .      else..qec
19020 68 6f 3d 60 24 65 63 68 6f 20 22 58 24 65 63 68  ho=`$echo "X$ech
19030 6f 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  o" | $Xsed -e "$
19040 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
19050 60 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  `.      fi..    
19060 20 20 23 20 4f 6e 6c 79 20 61 63 74 75 61 6c 6c    # Only actuall
19070 79 20 64 6f 20 74 68 69 6e 67 73 20 69 66 20 6f  y do things if o
19080 75 72 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 69  ur run command i
19090 73 20 6e 6f 6e 2d 6e 75 6c 6c 2e 0a 20 20 20 20  s non-null..    
190a0 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72    if test -z "$r
190b0 75 6e 22 3b 20 74 68 65 6e 0a 09 23 20 77 69 6e  un"; then..# win
190c0 33 32 20 77 69 6c 6c 20 74 68 69 6e 6b 20 74 68  32 will think th
190d0 65 20 73 63 72 69 70 74 20 69 73 20 61 20 62 69  e script is a bi
190e0 6e 61 72 79 20 69 66 20 69 74 20 68 61 73 0a 09  nary if it has..
190f0 23 20 61 20 2e 65 78 65 20 73 75 66 66 69 78 2c  # a .exe suffix,
19100 20 73 6f 20 77 65 20 73 74 72 69 70 20 69 74 20   so we strip it 
19110 6f 66 66 20 68 65 72 65 2e 0a 09 63 61 73 65 20  off here...case 
19120 24 6f 75 74 70 75 74 20 69 6e 0a 09 20 20 2a 2e  $output in..  *.
19130 65 78 65 29 20 6f 75 74 70 75 74 3d 60 65 63 68  exe) output=`ech
19140 6f 20 24 6f 75 74 70 75 74 7c 24 7b 53 45 44 7d  o $output|${SED}
19150 20 27 73 2c 2e 65 78 65 24 2c 2c 27 60 20 3b 3b   's,.exe$,,'` ;;
19160 0a 09 65 73 61 63 0a 09 23 20 74 65 73 74 20 66  ..esac..# test f
19170 6f 72 20 63 79 67 77 69 6e 20 62 65 63 61 75 73  or cygwin becaus
19180 65 20 6d 76 20 66 61 69 6c 73 20 77 2f 6f 20 2e  e mv fails w/o .
19190 65 78 65 20 65 78 74 65 6e 73 69 6f 6e 73 0a 09  exe extensions..
191a0 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 20  case $host in.. 
191b0 20 2a 63 79 67 77 69 6e 2a 29 20 65 78 65 65 78   *cygwin*) exeex
191c0 74 3d 2e 65 78 65 20 3b 3b 0a 09 20 20 2a 29 20  t=.exe ;;..  *) 
191d0 65 78 65 65 78 74 3d 20 3b 3b 0a 09 65 73 61 63  exeext= ;;..esac
191e0 0a 09 24 72 6d 20 24 6f 75 74 70 75 74 0a 09 74  ..$rm $output..t
191f0 72 61 70 20 22 24 72 6d 20 24 6f 75 74 70 75 74  rap "$rm $output
19200 3b 20 65 78 69 74 20 31 22 20 31 20 32 20 31 35  ; exit 1" 1 2 15
19210 0a 0a 09 24 65 63 68 6f 20 3e 20 24 6f 75 74 70  ...$echo > $outp
19220 75 74 20 22 5c 0a 23 21 20 24 53 48 45 4c 4c 0a  ut "\.#! $SHELL.
19230 0a 23 20 24 6f 75 74 70 75 74 20 2d 20 74 65 6d  .# $output - tem
19240 70 6f 72 61 72 79 20 77 72 61 70 70 65 72 20 73  porary wrapper s
19250 63 72 69 70 74 20 66 6f 72 20 24 6f 62 6a 64 69  cript for $objdi
19260 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 0a 23 20  r/$outputname.# 
19270 47 65 6e 65 72 61 74 65 64 20 62 79 20 24 50 52  Generated by $PR
19280 4f 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43  OGRAM - GNU $PAC
19290 4b 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49  KAGE $VERSION$TI
192a0 4d 45 53 54 41 4d 50 0a 23 0a 23 20 54 68 65 20  MESTAMP.#.# The 
192b0 24 6f 75 74 70 75 74 20 70 72 6f 67 72 61 6d 20  $output program 
192c0 63 61 6e 6e 6f 74 20 62 65 20 64 69 72 65 63 74  cannot be direct
192d0 6c 79 20 65 78 65 63 75 74 65 64 20 75 6e 74 69  ly executed unti
192e0 6c 20 61 6c 6c 20 74 68 65 20 6c 69 62 74 6f 6f  l all the libtoo
192f0 6c 0a 23 20 6c 69 62 72 61 72 69 65 73 20 74 68  l.# libraries th
19300 61 74 20 69 74 20 64 65 70 65 6e 64 73 20 6f 6e  at it depends on
19310 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a   are installed..
19320 23 0a 23 20 54 68 69 73 20 77 72 61 70 70 65 72  #.# This wrapper
19330 20 73 63 72 69 70 74 20 73 68 6f 75 6c 64 20 6e   script should n
19340 65 76 65 72 20 62 65 20 6d 6f 76 65 64 20 6f 75  ever be moved ou
19350 74 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20 64  t of the build d
19360 69 72 65 63 74 6f 72 79 2e 0a 23 20 49 66 20 69  irectory..# If i
19370 74 20 69 73 2c 20 69 74 20 77 69 6c 6c 20 6e 6f  t is, it will no
19380 74 20 6f 70 65 72 61 74 65 20 63 6f 72 72 65 63  t operate correc
19390 74 6c 79 2e 0a 0a 23 20 53 65 64 20 73 75 62 73  tly...# Sed subs
193a0 74 69 74 75 74 69 6f 6e 20 74 68 61 74 20 68 65  titution that he
193b0 6c 70 73 20 75 73 20 64 6f 20 72 6f 62 75 73 74  lps us do robust
193c0 20 71 75 6f 74 69 6e 67 2e 20 20 49 74 20 62 61   quoting.  It ba
193d0 63 6b 73 6c 61 73 68 69 66 69 65 73 0a 23 20 6d  ckslashifies.# m
193e0 65 74 61 63 68 61 72 61 63 74 65 72 73 20 74 68  etacharacters th
193f0 61 74 20 61 72 65 20 73 74 69 6c 6c 20 61 63 74  at are still act
19400 69 76 65 20 77 69 74 68 69 6e 20 64 6f 75 62 6c  ive within doubl
19410 65 2d 71 75 6f 74 65 64 20 73 74 72 69 6e 67 73  e-quoted strings
19420 2e 0a 58 73 65 64 3d 22 24 7b 53 45 44 7d 22 27  ..Xsed="${SED}"'
19430 20 2d 65 20 31 73 2f 5e 58 2f 2f 27 0a 73 65 64   -e 1s/^X//'.sed
19440 5f 71 75 6f 74 65 5f 73 75 62 73 74 3d 27 24 73  _quote_subst='$s
19450 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 27 0a  ed_quote_subst'.
19460 0a 23 20 54 68 65 20 48 50 2d 55 58 20 6b 73 68  .# The HP-UX ksh
19470 20 61 6e 64 20 50 4f 53 49 58 20 73 68 65 6c 6c   and POSIX shell
19480 20 70 72 69 6e 74 20 74 68 65 20 74 61 72 67 65   print the targe
19490 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 73  t directory to s
194a0 74 64 6f 75 74 0a 23 20 69 66 20 43 44 50 41 54  tdout.# if CDPAT
194b0 48 20 69 73 20 73 65 74 2e 0a 69 66 20 74 65 73  H is set..if tes
194c0 74 20 5c 22 5c 24 7b 43 44 50 41 54 48 2b 73 65  t \"\${CDPATH+se
194d0 74 7d 5c 22 20 3d 20 73 65 74 3b 20 74 68 65 6e  t}\" = set; then
194e0 20 43 44 50 41 54 48 3d 3a 3b 20 65 78 70 6f 72   CDPATH=:; expor
194f0 74 20 43 44 50 41 54 48 3b 20 66 69 0a 0a 72 65  t CDPATH; fi..re
19500 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 5c 22 24  link_command=\"$
19510 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 5c 22  relink_command\"
19520 0a 0a 23 20 54 68 69 73 20 65 6e 76 69 72 6f 6e  ..# This environ
19530 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 64 65  ment variable de
19540 74 65 72 6d 69 6e 65 73 20 6f 75 72 20 6f 70 65  termines our ope
19550 72 61 74 69 6f 6e 20 6d 6f 64 65 2e 0a 69 66 20  ration mode..if 
19560 74 65 73 74 20 5c 22 5c 24 6c 69 62 74 6f 6f 6c  test \"\$libtool
19570 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69 63 5c 22  _install_magic\"
19580 20 3d 20 5c 22 24 6d 61 67 69 63 5c 22 3b 20 74   = \"$magic\"; t
19590 68 65 6e 0a 20 20 23 20 69 6e 73 74 61 6c 6c 20  hen.  # install 
195a0 6d 6f 64 65 20 6e 65 65 64 73 20 74 68 65 20 66  mode needs the f
195b0 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69 61 62 6c  ollowing variabl
195c0 65 3a 0a 20 20 6e 6f 74 69 6e 73 74 5f 64 65 70  e:.  notinst_dep
195d0 6c 69 62 73 3d 27 24 6e 6f 74 69 6e 73 74 5f 64  libs='$notinst_d
195e0 65 70 6c 69 62 73 27 0a 65 6c 73 65 0a 20 20 23  eplibs'.else.  #
195f0 20 57 68 65 6e 20 77 65 20 61 72 65 20 73 6f 75   When we are sou
19600 72 63 65 64 20 69 6e 20 65 78 65 63 75 74 65 20  rced in execute 
19610 6d 6f 64 65 2c 20 5c 24 66 69 6c 65 20 61 6e 64  mode, \$file and
19620 20 5c 24 65 63 68 6f 20 61 72 65 20 61 6c 72 65   \$echo are alre
19630 61 64 79 20 73 65 74 2e 0a 20 20 69 66 20 74 65  ady set..  if te
19640 73 74 20 5c 22 5c 24 6c 69 62 74 6f 6f 6c 5f 65  st \"\$libtool_e
19650 78 65 63 75 74 65 5f 6d 61 67 69 63 5c 22 20 21  xecute_magic\" !
19660 3d 20 5c 22 24 6d 61 67 69 63 5c 22 3b 20 74 68  = \"$magic\"; th
19670 65 6e 0a 20 20 20 20 65 63 68 6f 3d 5c 22 24 71  en.    echo=\"$q
19680 65 63 68 6f 5c 22 0a 20 20 20 20 66 69 6c 65 3d  echo\".    file=
19690 5c 22 5c 24 30 5c 22 0a 20 20 20 20 23 20 4d 61  \"\$0\".    # Ma
196a0 6b 65 20 73 75 72 65 20 65 63 68 6f 20 77 6f 72  ke sure echo wor
196b0 6b 73 2e 0a 20 20 20 20 69 66 20 74 65 73 74 20  ks..    if test 
196c0 5c 22 58 5c 24 31 5c 22 20 3d 20 58 2d 2d 6e 6f  \"X\$1\" = X--no
196d0 2d 72 65 65 78 65 63 3b 20 74 68 65 6e 0a 20 20  -reexec; then.  
196e0 20 20 20 20 23 20 44 69 73 63 61 72 64 20 74 68      # Discard th
196f0 65 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c  e --no-reexec fl
19700 61 67 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65  ag, and continue
19710 2e 0a 20 20 20 20 20 20 73 68 69 66 74 0a 20 20  ..      shift.  
19720 20 20 65 6c 69 66 20 74 65 73 74 20 5c 22 58 5c    elif test \"X\
19730 60 28 5c 24 65 63 68 6f 20 27 5c 74 27 29 20 32  `(\$echo '\t') 2
19740 3e 2f 64 65 76 2f 6e 75 6c 6c 5c 60 5c 22 20 3d  >/dev/null\`\" =
19750 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a 20 20 20   'X\t'; then.   
19760 20 20 20 23 20 59 69 70 70 65 65 2c 20 5c 24 65     # Yippee, \$e
19770 63 68 6f 20 77 6f 72 6b 73 21 0a 20 20 20 20 20  cho works!.     
19780 20 3a 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20   :.    else.    
19790 20 20 23 20 52 65 73 74 61 72 74 20 75 6e 64 65    # Restart unde
197a0 72 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 68  r the correct sh
197b0 65 6c 6c 2c 20 61 6e 64 20 74 68 65 6e 20 6d 61  ell, and then ma
197c0 79 62 65 20 5c 24 65 63 68 6f 20 77 69 6c 6c 20  ybe \$echo will 
197d0 77 6f 72 6b 2e 0a 20 20 20 20 20 20 65 78 65 63  work..      exec
197e0 20 24 53 48 45 4c 4c 20 5c 22 5c 24 30 5c 22 20   $SHELL \"\$0\" 
197f0 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 5c 24 7b 31  --no-reexec \${1
19800 2b 5c 22 5c 24 40 5c 22 7d 0a 20 20 20 20 66 69  +\"\$@\"}.    fi
19810 0a 20 20 66 69 5c 0a 22 0a 09 24 65 63 68 6f 20  .  fi\."..$echo 
19820 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20  >> $output "\.. 
19830 20 23 20 46 69 6e 64 20 74 68 65 20 64 69 72 65   # Find the dire
19840 63 74 6f 72 79 20 74 68 61 74 20 74 68 69 73 20  ctory that this 
19850 73 63 72 69 70 74 20 6c 69 76 65 73 20 69 6e 2e  script lives in.
19860 0a 20 20 74 68 69 73 64 69 72 3d 5c 60 5c 24 65  .  thisdir=\`\$e
19870 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20  cho \"X\$file\" 
19880 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 25 2f  | \$Xsed -e 's%/
19890 5b 5e 2f 5d 2a 24 25 25 27 5c 60 0a 20 20 74 65  [^/]*$%%'\`.  te
198a0 73 74 20 5c 22 78 5c 24 74 68 69 73 64 69 72 5c  st \"x\$thisdir\
198b0 22 20 3d 20 5c 22 78 5c 24 66 69 6c 65 5c 22 20  " = \"x\$file\" 
198c0 26 26 20 74 68 69 73 64 69 72 3d 2e 0a 0a 20 20  && thisdir=...  
198d0 23 20 46 6f 6c 6c 6f 77 20 73 79 6d 62 6f 6c 69  # Follow symboli
198e0 63 20 6c 69 6e 6b 73 20 75 6e 74 69 6c 20 77 65  c links until we
198f0 20 67 65 74 20 74 6f 20 74 68 65 20 72 65 61 6c   get to the real
19900 20 74 68 69 73 64 69 72 2e 0a 20 20 66 69 6c 65   thisdir..  file
19910 3d 5c 60 6c 73 20 2d 6c 64 20 5c 22 5c 24 66 69  =\`ls -ld \"\$fi
19920 6c 65 5c 22 20 7c 20 24 7b 53 45 44 7d 20 2d 6e  le\" | ${SED} -n
19930 20 27 73 2f 2e 2a 2d 3e 20 2f 2f 70 27 5c 60 0a   's/.*-> //p'\`.
19940 20 20 77 68 69 6c 65 20 74 65 73 74 20 2d 6e 20    while test -n 
19950 5c 22 5c 24 66 69 6c 65 5c 22 3b 20 64 6f 0a 20  \"\$file\"; do. 
19960 20 20 20 64 65 73 74 64 69 72 3d 5c 60 5c 24 65     destdir=\`\$e
19970 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20  cho \"X\$file\" 
19980 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 25 2f  | \$Xsed -e 's%/
19990 5b 5e 2f 5d 2a 5c 24 25 25 27 5c 60 0a 0a 20 20  [^/]*\$%%'\`..  
199a0 20 20 23 20 49 66 20 74 68 65 72 65 20 77 61 73    # If there was
199b0 20 61 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6d   a directory com
199c0 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 63 68 61  ponent, then cha
199d0 6e 67 65 20 74 68 69 73 64 69 72 2e 0a 20 20 20  nge thisdir..   
199e0 20 69 66 20 74 65 73 74 20 5c 22 78 5c 24 64 65   if test \"x\$de
199f0 73 74 64 69 72 5c 22 20 21 3d 20 5c 22 78 5c 24  stdir\" != \"x\$
19a00 66 69 6c 65 5c 22 3b 20 74 68 65 6e 0a 20 20 20  file\"; then.   
19a10 20 20 20 63 61 73 65 20 5c 22 5c 24 64 65 73 74     case \"\$dest
19a20 64 69 72 5c 22 20 69 6e 0a 20 20 20 20 20 20 5b  dir\" in.      [
19a30 5c 5c 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d  \\\\/]* | [A-Za-
19a40 7a 5d 3a 5b 5c 5c 5c 5c 2f 5d 2a 29 20 74 68 69  z]:[\\\\/]*) thi
19a50 73 64 69 72 3d 5c 22 5c 24 64 65 73 74 64 69 72  sdir=\"\$destdir
19a60 5c 22 20 3b 3b 0a 20 20 20 20 20 20 2a 29 20 74  \" ;;.      *) t
19a70 68 69 73 64 69 72 3d 5c 22 5c 24 74 68 69 73 64  hisdir=\"\$thisd
19a80 69 72 2f 5c 24 64 65 73 74 64 69 72 5c 22 20 3b  ir/\$destdir\" ;
19a90 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20  ;.      esac.   
19aa0 20 66 69 0a 0a 20 20 20 20 66 69 6c 65 3d 5c 60   fi..    file=\`
19ab0 5c 24 65 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65  \$echo \"X\$file
19ac0 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27  \" | \$Xsed -e '
19ad0 73 25 5e 2e 2a 2f 25 25 27 5c 60 0a 20 20 20 20  s%^.*/%%'\`.    
19ae0 66 69 6c 65 3d 5c 60 6c 73 20 2d 6c 64 20 5c 22  file=\`ls -ld \"
19af0 5c 24 74 68 69 73 64 69 72 2f 5c 24 66 69 6c 65  \$thisdir/\$file
19b00 5c 22 20 7c 20 24 7b 53 45 44 7d 20 2d 6e 20 27  \" | ${SED} -n '
19b10 73 2f 2e 2a 2d 3e 20 2f 2f 70 27 5c 60 0a 20 20  s/.*-> //p'\`.  
19b20 64 6f 6e 65 0a 0a 20 20 23 20 54 72 79 20 74 6f  done..  # Try to
19b30 20 67 65 74 20 74 68 65 20 61 62 73 6f 6c 75 74   get the absolut
19b40 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  e directory name
19b50 2e 0a 20 20 61 62 73 64 69 72 3d 5c 60 63 64 20  ..  absdir=\`cd 
19b60 5c 22 5c 24 74 68 69 73 64 69 72 5c 22 20 26 26  \"\$thisdir\" &&
19b70 20 70 77 64 5c 60 0a 20 20 74 65 73 74 20 2d 6e   pwd\`.  test -n
19b80 20 5c 22 5c 24 61 62 73 64 69 72 5c 22 20 26 26   \"\$absdir\" &&
19b90 20 74 68 69 73 64 69 72 3d 5c 22 5c 24 61 62 73   thisdir=\"\$abs
19ba0 64 69 72 5c 22 0a 22 0a 0a 09 69 66 20 74 65 73  dir\"."...if tes
19bb0 74 20 22 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c  t "$fast_install
19bc0 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
19bd0 20 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74   echo >> $output
19be0 20 22 5c 0a 20 20 70 72 6f 67 72 61 6d 3d 6c 74   "\.  program=lt
19bf0 2d 27 24 6f 75 74 70 75 74 6e 61 6d 65 27 24 65  -'$outputname'$e
19c00 78 65 65 78 74 0a 20 20 70 72 6f 67 64 69 72 3d  xeext.  progdir=
19c10 5c 22 5c 24 74 68 69 73 64 69 72 2f 24 6f 62 6a  \"\$thisdir/$obj
19c20 64 69 72 5c 22 0a 0a 20 20 69 66 20 74 65 73 74  dir\"..  if test
19c30 20 21 20 2d 66 20 5c 22 5c 24 70 72 6f 67 64 69   ! -f \"\$progdi
19c40 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 7c 7c  r/\$program\" ||
19c50 20 5c 5c 0a 20 20 20 20 20 7b 20 66 69 6c 65 3d   \\.     { file=
19c60 5c 60 6c 73 20 2d 31 64 74 20 5c 22 5c 24 70 72  \`ls -1dt \"\$pr
19c70 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c  ogdir/\$program\
19c80 22 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 2e 2e  " \"\$progdir/..
19c90 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f  /\$program\" 2>/
19ca0 64 65 76 2f 6e 75 6c 6c 20 7c 20 24 7b 53 45 44  dev/null | ${SED
19cb0 7d 20 31 71 5c 60 3b 20 5c 5c 0a 20 20 20 20 20  } 1q\`; \\.     
19cc0 20 20 74 65 73 74 20 5c 22 58 5c 24 66 69 6c 65    test \"X\$file
19cd0 5c 22 20 21 3d 20 5c 22 58 5c 24 70 72 6f 67 64  \" != \"X\$progd
19ce0 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 20  ir/\$program\"; 
19cf0 7d 3b 20 74 68 65 6e 0a 0a 20 20 20 20 66 69 6c  }; then..    fil
19d00 65 3d 5c 22 5c 24 5c 24 2d 5c 24 70 72 6f 67 72  e=\"\$\$-\$progr
19d10 61 6d 5c 22 0a 0a 20 20 20 20 69 66 20 74 65 73  am\"..    if tes
19d20 74 20 21 20 2d 64 20 5c 22 5c 24 70 72 6f 67 64  t ! -d \"\$progd
19d30 69 72 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  ir\"; then.     
19d40 20 24 6d 6b 64 69 72 20 5c 22 5c 24 70 72 6f 67   $mkdir \"\$prog
19d50 64 69 72 5c 22 0a 20 20 20 20 65 6c 73 65 0a 20  dir\".    else. 
19d60 20 20 20 20 20 24 72 6d 20 5c 22 5c 24 70 72 6f       $rm \"\$pro
19d70 67 64 69 72 2f 5c 24 66 69 6c 65 5c 22 0a 20 20  gdir/\$file\".  
19d80 20 20 66 69 22 0a 0a 09 20 20 65 63 68 6f 20 3e    fi"...  echo >
19d90 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20  > $output "\..  
19da0 20 20 23 20 72 65 6c 69 6e 6b 20 65 78 65 63 75    # relink execu
19db0 74 61 62 6c 65 20 69 66 20 6e 65 63 65 73 73 61  table if necessa
19dc0 72 79 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d  ry.    if test -
19dd0 6e 20 5c 22 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d  n \"\$relink_com
19de0 6d 61 6e 64 5c 22 3b 20 74 68 65 6e 0a 20 20 20  mand\"; then.   
19df0 20 20 20 69 66 20 72 65 6c 69 6e 6b 5f 63 6f 6d     if relink_com
19e00 6d 61 6e 64 5f 6f 75 74 70 75 74 3d 5c 60 65 76  mand_output=\`ev
19e10 61 6c 20 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  al \$relink_comm
19e20 61 6e 64 20 32 3e 26 31 5c 60 3b 20 74 68 65 6e  and 2>&1\`; then
19e30 20 3a 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 24   :.      else..$
19e40 65 63 68 6f 20 5c 22 5c 24 72 65 6c 69 6e 6b 5f  echo \"\$relink_
19e50 63 6f 6d 6d 61 6e 64 5f 6f 75 74 70 75 74 5c 22  command_output\"
19e60 20 3e 26 32 0a 09 24 72 6d 20 5c 22 5c 24 70 72   >&2..$rm \"\$pr
19e70 6f 67 64 69 72 2f 5c 24 66 69 6c 65 5c 22 0a 09  ogdir/\$file\"..
19e80 65 78 69 74 20 31 0a 20 20 20 20 20 20 66 69 0a  exit 1.      fi.
19e90 20 20 20 20 66 69 0a 0a 20 20 20 20 24 6d 76 20      fi..    $mv 
19ea0 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69  \"\$progdir/\$fi
19eb0 6c 65 5c 22 20 5c 22 5c 24 70 72 6f 67 64 69 72  le\" \"\$progdir
19ec0 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f  /\$program\" 2>/
19ed0 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 20 20 20 20  dev/null ||.    
19ee0 7b 20 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64 69  { $rm \"\$progdi
19ef0 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 0a 20  r/\$program\";. 
19f00 20 20 20 20 20 24 6d 76 20 5c 22 5c 24 70 72 6f       $mv \"\$pro
19f10 67 64 69 72 2f 5c 24 66 69 6c 65 5c 22 20 5c 22  gdir/\$file\" \"
19f20 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67  \$progdir/\$prog
19f30 72 61 6d 5c 22 3b 20 7d 0a 20 20 20 20 24 72 6d  ram\"; }.    $rm
19f40 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66   \"\$progdir/\$f
19f50 69 6c 65 5c 22 0a 20 20 66 69 22 0a 09 65 6c 73  ile\".  fi"..els
19f60 65 0a 09 20 20 65 63 68 6f 20 3e 3e 20 24 6f 75  e..  echo >> $ou
19f70 74 70 75 74 20 22 5c 0a 20 20 70 72 6f 67 72 61  tput "\.  progra
19f80 6d 3d 27 24 6f 75 74 70 75 74 6e 61 6d 65 27 0a  m='$outputname'.
19f90 20 20 70 72 6f 67 64 69 72 3d 5c 22 5c 24 74 68    progdir=\"\$th
19fa0 69 73 64 69 72 2f 24 6f 62 6a 64 69 72 5c 22 0a  isdir/$objdir\".
19fb0 22 0a 09 66 69 0a 0a 09 65 63 68 6f 20 3e 3e 20  "..fi...echo >> 
19fc0 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 69 66  $output "\..  if
19fd0 20 74 65 73 74 20 2d 66 20 5c 22 5c 24 70 72 6f   test -f \"\$pro
19fe0 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22  gdir/\$program\"
19ff0 3b 20 74 68 65 6e 22 0a 0a 09 23 20 45 78 70 6f  ; then"...# Expo
1a000 72 74 20 6f 75 72 20 73 68 6c 69 62 70 61 74 68  rt our shlibpath
1a010 5f 76 61 72 20 69 66 20 77 65 20 68 61 76 65 20  _var if we have 
1a020 6f 6e 65 2e 0a 09 69 66 20 74 65 73 74 20 22 24  one...if test "$
1a030 73 68 6c 69 62 70 61 74 68 5f 6f 76 65 72 72 69  shlibpath_overri
1a040 64 65 73 5f 72 75 6e 70 61 74 68 22 20 3d 20 79  des_runpath" = y
1a050 65 73 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24  es && test -n "$
1a060 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20 26  shlibpath_var" &
1a070 26 20 74 65 73 74 20 2d 6e 20 22 24 74 65 6d 70  & test -n "$temp
1a080 5f 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20  _rpath"; then.. 
1a090 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75   $echo >> $outpu
1a0a0 74 20 22 5c 0a 20 20 20 20 23 20 41 64 64 20 6f  t "\.    # Add o
1a0b0 75 72 20 6f 77 6e 20 6c 69 62 72 61 72 79 20 70  ur own library p
1a0c0 61 74 68 20 74 6f 20 24 73 68 6c 69 62 70 61 74  ath to $shlibpat
1a0d0 68 5f 76 61 72 0a 20 20 20 20 24 73 68 6c 69 62  h_var.    $shlib
1a0e0 70 61 74 68 5f 76 61 72 3d 5c 22 24 74 65 6d 70  path_var=\"$temp
1a0f0 5f 72 70 61 74 68 5c 24 24 73 68 6c 69 62 70 61  _rpath\$$shlibpa
1a100 74 68 5f 76 61 72 5c 22 0a 0a 20 20 20 20 23 20  th_var\"..    # 
1a110 53 6f 6d 65 20 73 79 73 74 65 6d 73 20 63 61 6e  Some systems can
1a120 6e 6f 74 20 63 6f 70 65 20 77 69 74 68 20 63 6f  not cope with co
1a130 6c 6f 6e 2d 74 65 72 6d 69 6e 61 74 65 64 20 24  lon-terminated $
1a140 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a 20 20  shlibpath_var.  
1a150 20 20 23 20 54 68 65 20 73 65 63 6f 6e 64 20 63    # The second c
1a160 6f 6c 6f 6e 20 69 73 20 61 20 77 6f 72 6b 61 72  olon is a workar
1a170 6f 75 6e 64 20 66 6f 72 20 61 20 62 75 67 20 69  ound for a bug i
1a180 6e 20 42 65 4f 53 20 52 34 20 24 7b 53 45 44 7d  n BeOS R4 ${SED}
1a190 0a 20 20 20 20 24 73 68 6c 69 62 70 61 74 68 5f  .    $shlibpath_
1a1a0 76 61 72 3d 5c 60 5c 24 65 63 68 6f 20 5c 22 58  var=\`\$echo \"X
1a1b0 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  \$$shlibpath_var
1a1c0 5c 22 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27  \" | \$Xsed -e '
1a1d0 73 2f 3a 3a 2a 5c 24 2f 2f 27 5c 60 0a 0a 20 20  s/::*\$//'\`..  
1a1e0 20 20 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70    export $shlibp
1a1f0 61 74 68 5f 76 61 72 0a 22 0a 09 66 69 0a 0a 09  ath_var."..fi...
1a200 23 20 66 69 78 75 70 20 74 68 65 20 64 6c 6c 20  # fixup the dll 
1a210 73 65 61 72 63 68 70 61 74 68 20 69 66 20 77 65  searchpath if we
1a220 20 6e 65 65 64 20 74 6f 2e 0a 09 69 66 20 74 65   need to...if te
1a230 73 74 20 2d 6e 20 22 24 64 6c 6c 73 65 61 72 63  st -n "$dllsearc
1a240 68 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20  hpath"; then..  
1a250 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
1a260 20 22 5c 0a 20 20 20 20 23 20 41 64 64 20 74 68   "\.    # Add th
1a270 65 20 64 6c 6c 20 73 65 61 72 63 68 20 70 61 74  e dll search pat
1a280 68 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20  h components to 
1a290 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 50  the executable P
1a2a0 41 54 48 0a 20 20 20 20 50 41 54 48 3d 24 64 6c  ATH.    PATH=$dl
1a2b0 6c 73 65 61 72 63 68 70 61 74 68 3a 5c 24 50 41  lsearchpath:\$PA
1a2c0 54 48 0a 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f  TH."..fi...$echo
1a2d0 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 20   >> $output "\. 
1a2e0 20 20 20 69 66 20 74 65 73 74 20 5c 22 5c 24 6c     if test \"\$l
1a2f0 69 62 74 6f 6f 6c 5f 65 78 65 63 75 74 65 5f 6d  ibtool_execute_m
1a300 61 67 69 63 5c 22 20 21 3d 20 5c 22 24 6d 61 67  agic\" != \"$mag
1a310 69 63 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  ic\"; then.     
1a320 20 23 20 52 75 6e 20 74 68 65 20 61 63 74 75 61   # Run the actua
1a330 6c 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6f  l program with o
1a340 75 72 20 61 72 67 75 6d 65 6e 74 73 2e 0a 22 0a  ur arguments..".
1a350 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09  .case $host in..
1a360 23 20 77 69 6e 33 32 20 73 79 73 74 65 6d 73 20  # win32 systems 
1a370 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20  need to use the 
1a380 70 72 6f 67 20 70 61 74 68 20 66 6f 72 20 64 6c  prog path for dl
1a390 6c 0a 09 23 20 6c 6f 6f 6b 75 70 20 74 6f 20 77  l..# lookup to w
1a3a0 6f 72 6b 0a 09 2a 2d 2a 2d 63 79 67 77 69 6e 2a  ork..*-*-cygwin*
1a3b0 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 29 0a 09 20   | *-*-pw32*).. 
1a3c0 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75   $echo >> $outpu
1a3d0 74 20 22 5c 0a 20 20 20 20 20 20 65 78 65 63 20  t "\.      exec 
1a3e0 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67  \$progdir/\$prog
1a3f0 72 61 6d 20 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22  ram \${1+\"\$@\"
1a400 7d 0a 22 0a 09 20 20 3b 3b 0a 0a 09 23 20 42 61  }."..  ;;...# Ba
1a410 63 6b 73 6c 61 73 68 65 73 20 73 65 70 61 72 61  ckslashes separa
1a420 74 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f  te directories o
1a430 6e 20 70 6c 61 69 6e 20 77 69 6e 64 6f 77 73 0a  n plain windows.
1a440 09 2a 2d 2a 2d 6d 69 6e 67 77 20 7c 20 2a 2d 2a  .*-*-mingw | *-*
1a450 2d 6f 73 32 2a 29 0a 09 20 20 24 65 63 68 6f 20  -os2*)..  $echo 
1a460 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 20 20  >> $output "\.  
1a470 20 20 20 20 65 78 65 63 20 5c 24 70 72 6f 67 64      exec \$progd
1a480 69 72 5c 5c 5c 5c 5c 24 70 72 6f 67 72 61 6d 20  ir\\\\\$program 
1a490 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a 22 0a  \${1+\"\$@\"}.".
1a4a0 09 20 20 3b 3b 0a 0a 09 2a 29 0a 09 20 20 24 65  .  ;;...*)..  $e
1a4b0 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
1a4c0 5c 0a 20 20 20 20 20 20 23 20 45 78 70 6f 72 74  \.      # Export
1a4d0 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65   the path to the
1a4e0 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20 20 20 20   program..      
1a4f0 50 41 54 48 3d 5c 22 5c 24 70 72 6f 67 64 69 72  PATH=\"\$progdir
1a500 3a 5c 24 50 41 54 48 5c 22 0a 20 20 20 20 20 20  :\$PATH\".      
1a510 65 78 70 6f 72 74 20 50 41 54 48 0a 0a 20 20 20  export PATH..   
1a520 20 20 20 65 78 65 63 20 5c 24 70 72 6f 67 72 61     exec \$progra
1a530 6d 20 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a  m \${1+\"\$@\"}.
1a540 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09 24  "..  ;;..esac..$
1a550 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20  echo >> $output 
1a560 22 5c 0a 20 20 20 20 20 20 5c 24 65 63 68 6f 20  "\.      \$echo 
1a570 5c 22 5c 24 30 3a 20 63 61 6e 6e 6f 74 20 65 78  \"\$0: cannot ex
1a580 65 63 20 5c 24 70 72 6f 67 72 61 6d 20 5c 24 7b  ec \$program \${
1a590 31 2b 5c 22 5c 24 40 5c 22 7d 5c 22 0a 20 20 20  1+\"\$@\"}\".   
1a5a0 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69     exit 1.    fi
1a5b0 0a 20 20 65 6c 73 65 0a 20 20 20 20 23 20 54 68  .  else.    # Th
1a5c0 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 6e 27  e program doesn'
1a5d0 74 20 65 78 69 73 74 2e 0a 20 20 20 20 5c 24 65  t exist..    \$e
1a5e0 63 68 6f 20 5c 22 5c 24 30 3a 20 65 72 72 6f 72  cho \"\$0: error
1a5f0 3a 20 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70 72  : \$progdir/\$pr
1a600 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 65  ogram does not e
1a610 78 69 73 74 5c 22 20 31 3e 26 32 0a 20 20 20 20  xist\" 1>&2.    
1a620 5c 24 65 63 68 6f 20 5c 22 54 68 69 73 20 73 63  \$echo \"This sc
1a630 72 69 70 74 20 69 73 20 6a 75 73 74 20 61 20 77  ript is just a w
1a640 72 61 70 70 65 72 20 66 6f 72 20 5c 24 70 72 6f  rapper for \$pro
1a650 67 72 61 6d 2e 5c 22 20 31 3e 26 32 0a 20 20 20  gram.\" 1>&2.   
1a660 20 65 63 68 6f 20 5c 22 53 65 65 20 74 68 65 20   echo \"See the 
1a670 24 50 41 43 4b 41 47 45 20 64 6f 63 75 6d 65 6e  $PACKAGE documen
1a680 74 61 74 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20  tation for more 
1a690 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 5c 22 20 31  information.\" 1
1a6a0 3e 26 32 0a 20 20 20 20 65 78 69 74 20 31 0a 20  >&2.    exit 1. 
1a6b0 20 66 69 0a 66 69 5c 0a 22 0a 09 63 68 6d 6f 64   fi.fi\."..chmod
1a6c0 20 2b 78 20 24 6f 75 74 70 75 74 0a 20 20 20 20   +x $output.    
1a6d0 20 20 66 69 0a 20 20 20 20 20 20 65 78 69 74 20    fi.      exit 
1a6e0 30 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  0.      ;;.    e
1a6f0 73 61 63 0a 0a 20 20 20 20 23 20 53 65 65 20 69  sac..    # See i
1a700 66 20 77 65 20 6e 65 65 64 20 74 6f 20 62 75 69  f we need to bui
1a710 6c 64 20 61 6e 20 6f 6c 64 2d 66 61 73 68 69 6f  ld an old-fashio
1a720 6e 65 64 20 61 72 63 68 69 76 65 2e 0a 20 20 20  ned archive..   
1a730 20 66 6f 72 20 6f 6c 64 6c 69 62 20 69 6e 20 24   for oldlib in $
1a740 6f 6c 64 6c 69 62 73 3b 20 64 6f 0a 0a 20 20 20  oldlibs; do..   
1a750 20 20 20 69 66 20 74 65 73 74 20 22 24 62 75 69     if test "$bui
1a760 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22  ld_libtool_libs"
1a770 20 3d 20 63 6f 6e 76 65 6e 69 65 6e 63 65 3b 20   = convenience; 
1a780 74 68 65 6e 0a 09 6f 6c 64 6f 62 6a 73 3d 22 24  then..oldobjs="$
1a790 6c 69 62 6f 62 6a 73 5f 73 61 76 65 22 0a 09 61  libobjs_save"..a
1a7a0 64 64 6c 69 62 73 3d 22 24 63 6f 6e 76 65 6e 69  ddlibs="$conveni
1a7b0 65 6e 63 65 22 0a 09 62 75 69 6c 64 5f 6c 69 62  ence"..build_lib
1a7c0 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 20 20 20  tool_libs=no.   
1a7d0 20 20 20 65 6c 73 65 0a 09 69 66 20 74 65 73 74     else..if test
1a7e0 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
1a7f0 5f 6c 69 62 73 22 20 3d 20 6d 6f 64 75 6c 65 3b  _libs" = module;
1a800 20 74 68 65 6e 0a 09 20 20 6f 6c 64 6f 62 6a 73   then..  oldobjs
1a810 3d 22 24 6c 69 62 6f 62 6a 73 5f 73 61 76 65 22  ="$libobjs_save"
1a820 0a 09 20 20 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  ..  build_libtoo
1a830 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 65 6c 73 65 0a  l_libs=no..else.
1a840 09 20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f 62 6a  .  oldobjs="$obj
1a850 73 24 6f 6c 64 5f 64 65 70 6c 69 62 73 20 22 60  s$old_deplibs "`
1a860 24 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73  $echo "X$libobjs
1a870 5f 73 61 76 65 22 20 7c 20 24 53 50 32 4e 4c 20  _save" | $SP2NL 
1a880 7c 20 24 58 73 65 64 20 2d 65 20 27 2f 5c 2e 27  | $Xsed -e '/\.'
1a890 24 7b 6c 69 62 65 78 74 7d 27 24 2f 64 27 20 2d  ${libext}'$/d' -
1a8a0 65 20 27 2f 5c 2e 6c 69 62 24 2f 64 27 20 2d 65  e '/\.lib$/d' -e
1a8b0 20 22 24 6c 6f 32 6f 22 20 7c 20 24 4e 4c 32 53   "$lo2o" | $NL2S
1a8c0 50 60 0a 09 66 69 0a 09 61 64 64 6c 69 62 73 3d  P`..fi..addlibs=
1a8d0 22 24 6f 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63  "$old_convenienc
1a8e0 65 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  e".      fi..   
1a8f0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
1a900 61 64 64 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09  addlibs"; then..
1a910 67 65 6e 74 6f 70 3d 22 24 6f 75 74 70 75 74 5f  gentop="$output_
1a920 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e  objdir/${outputn
1a930 61 6d 65 7d 78 22 0a 09 24 73 68 6f 77 20 22 24  ame}x"..$show "$
1a940 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09  {rm}r $gentop"..
1a950 24 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24 67 65  $run ${rm}r "$ge
1a960 6e 74 6f 70 22 0a 09 24 73 68 6f 77 20 22 6d 6b  ntop"..$show "mk
1a970 64 69 72 20 24 67 65 6e 74 6f 70 22 0a 09 24 72  dir $gentop"..$r
1a980 75 6e 20 6d 6b 64 69 72 20 22 24 67 65 6e 74 6f  un mkdir "$gento
1a990 70 22 0a 09 73 74 61 74 75 73 3d 24 3f 0a 09 69  p"..status=$?..i
1a9a0 66 20 74 65 73 74 20 24 73 74 61 74 75 73 20 2d  f test $status -
1a9b0 6e 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d  ne 0 && test ! -
1a9c0 64 20 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65  d "$gentop"; the
1a9d0 6e 0a 09 20 20 65 78 69 74 20 24 73 74 61 74 75  n..  exit $statu
1a9e0 73 0a 09 66 69 0a 09 67 65 6e 65 72 61 74 65 64  s..fi..generated
1a9f0 3d 22 24 67 65 6e 65 72 61 74 65 64 20 24 67 65  ="$generated $ge
1aa00 6e 74 6f 70 22 0a 0a 09 23 20 41 64 64 20 69 6e  ntop"...# Add in
1aa10 20 6d 65 6d 62 65 72 73 20 66 72 6f 6d 20 63 6f   members from co
1aa20 6e 76 65 6e 69 65 6e 63 65 20 61 72 63 68 69 76  nvenience archiv
1aa30 65 73 2e 0a 09 66 6f 72 20 78 6c 69 62 20 69 6e  es...for xlib in
1aa40 20 24 61 64 64 6c 69 62 73 3b 20 64 6f 0a 09 20   $addlibs; do.. 
1aa50 20 23 20 45 78 74 72 61 63 74 20 74 68 65 20 6f   # Extract the o
1aa60 62 6a 65 63 74 73 2e 0a 09 20 20 63 61 73 65 20  bjects...  case 
1aa70 24 78 6c 69 62 20 69 6e 0a 09 20 20 5b 5c 5c 2f  $xlib in..  [\\/
1aa80 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c  ]* | [A-Za-z]:[\
1aa90 5c 2f 5d 2a 29 20 78 61 62 73 3d 22 24 78 6c 69  \/]*) xabs="$xli
1aaa0 62 22 20 3b 3b 0a 09 20 20 2a 29 20 78 61 62 73  b" ;;..  *) xabs
1aab0 3d 60 70 77 64 60 22 2f 24 78 6c 69 62 22 20 3b  =`pwd`"/$xlib" ;
1aac0 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 78 6c 69  ;..  esac..  xli
1aad0 62 3d 60 24 65 63 68 6f 20 22 58 24 78 6c 69 62  b=`$echo "X$xlib
1aae0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
1aaf0 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 78 64 69 72  ^.*/%%'`..  xdir
1ab00 3d 22 24 67 65 6e 74 6f 70 2f 24 78 6c 69 62 22  ="$gentop/$xlib"
1ab10 0a 0a 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d  ...  $show "${rm
1ab20 7d 72 20 24 78 64 69 72 22 0a 09 20 20 24 72 75  }r $xdir"..  $ru
1ab30 6e 20 24 7b 72 6d 7d 72 20 22 24 78 64 69 72 22  n ${rm}r "$xdir"
1ab40 0a 09 20 20 24 73 68 6f 77 20 22 6d 6b 64 69 72  ..  $show "mkdir
1ab50 20 24 78 64 69 72 22 0a 09 20 20 24 72 75 6e 20   $xdir"..  $run 
1ab60 6d 6b 64 69 72 20 22 24 78 64 69 72 22 0a 09 20  mkdir "$xdir".. 
1ab70 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 69 66   status=$?..  if
1ab80 20 74 65 73 74 20 24 73 74 61 74 75 73 20 2d 6e   test $status -n
1ab90 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64  e 0 && test ! -d
1aba0 20 22 24 78 64 69 72 22 3b 20 74 68 65 6e 0a 09   "$xdir"; then..
1abb0 20 20 20 20 65 78 69 74 20 24 73 74 61 74 75 73      exit $status
1abc0 0a 09 20 20 66 69 0a 09 20 20 24 73 68 6f 77 20  ..  fi..  $show 
1abd0 22 28 63 64 20 24 78 64 69 72 20 26 26 20 24 41  "(cd $xdir && $A
1abe0 52 20 78 20 24 78 61 62 73 29 22 0a 09 20 20 24  R x $xabs)"..  $
1abf0 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20 5c 24  run eval "(cd \$
1ac00 78 64 69 72 20 26 26 20 24 41 52 20 78 20 5c 24  xdir && $AR x \$
1ac10 78 61 62 73 29 22 20 7c 7c 20 65 78 69 74 20 24  xabs)" || exit $
1ac20 3f 0a 0a 09 20 20 6f 6c 64 6f 62 6a 73 3d 22 24  ?...  oldobjs="$
1ac30 6f 6c 64 6f 62 6a 73 20 22 60 66 69 6e 64 20 24  oldobjs "`find $
1ac40 78 64 69 72 20 2d 6e 61 6d 65 20 5c 2a 2e 24 7b  xdir -name \*.${
1ac50 6f 62 6a 65 78 74 7d 20 2d 70 72 69 6e 74 20 2d  objext} -print -
1ac60 6f 20 2d 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70  o -name \*.lo -p
1ac70 72 69 6e 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09  rint | $NL2SP`..
1ac80 64 6f 6e 65 0a 20 20 20 20 20 20 66 69 0a 0a 20  done.      fi.. 
1ac90 20 20 20 20 20 23 20 44 6f 20 65 61 63 68 20 63       # Do each c
1aca0 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 61 72  ommand in the ar
1acb0 63 68 69 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a  chive commands..
1acc0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
1acd0 20 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66   "$old_archive_f
1ace0 72 6f 6d 5f 6e 65 77 5f 63 6d 64 73 22 20 26 26  rom_new_cmds" &&
1acf0 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
1ad00 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
1ad10 73 3b 20 74 68 65 6e 0a 09 65 76 61 6c 20 63 6d  s; then..eval cm
1ad20 64 73 3d 5c 22 24 6f 6c 64 5f 61 72 63 68 69 76  ds=\"$old_archiv
1ad30 65 5f 66 72 6f 6d 5f 6e 65 77 5f 63 6d 64 73 5c  e_from_new_cmds\
1ad40 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 23 20  ".      else..# 
1ad50 45 6e 73 75 72 65 20 74 68 61 74 20 77 65 20 68  Ensure that we h
1ad60 61 76 65 20 2e 6f 20 6f 62 6a 65 63 74 73 20 69  ave .o objects i
1ad70 6e 20 70 6c 61 63 65 20 69 6e 20 63 61 73 65 20  n place in case 
1ad80 77 65 20 64 65 63 69 64 65 64 0a 09 23 20 6e 6f  we decided..# no
1ad90 74 20 74 6f 20 62 75 69 6c 64 20 61 20 73 68 61  t to build a sha
1ada0 72 65 64 20 6c 69 62 72 61 72 79 2c 20 61 6e 64  red library, and
1adb0 20 68 61 76 65 20 66 61 6c 6c 65 6e 20 62 61 63   have fallen bac
1adc0 6b 20 74 6f 20 62 75 69 6c 64 69 6e 67 0a 09 23  k to building..#
1add0 20 73 74 61 74 69 63 20 6c 69 62 73 20 65 76 65   static libs eve
1ade0 6e 20 74 68 6f 75 67 68 20 2d 2d 64 69 73 61 62  n though --disab
1adf0 6c 65 2d 73 74 61 74 69 63 20 77 61 73 20 70 61  le-static was pa
1ae00 73 73 65 64 21 0a 09 66 6f 72 20 6f 6c 64 6f 62  ssed!..for oldob
1ae10 6a 20 69 6e 20 24 6f 6c 64 6f 62 6a 73 3b 20 64  j in $oldobjs; d
1ae20 6f 0a 09 20 20 69 66 20 74 65 73 74 20 21 20 2d  o..  if test ! -
1ae30 66 20 24 6f 6c 64 6f 62 6a 3b 20 74 68 65 6e 0a  f $oldobj; then.
1ae40 09 20 20 20 20 78 64 69 72 3d 60 24 65 63 68 6f  .    xdir=`$echo
1ae50 20 22 58 24 6f 6c 64 6f 62 6a 22 20 7c 20 24 58   "X$oldobj" | $X
1ae60 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a  sed -e 's%/[^/]*
1ae70 24 25 25 27 60 0a 09 20 20 20 20 69 66 20 74 65  $%%'`..    if te
1ae80 73 74 20 22 58 24 78 64 69 72 22 20 3d 20 22 58  st "X$xdir" = "X
1ae90 24 6f 6c 64 6f 62 6a 22 3b 20 74 68 65 6e 0a 09  $oldobj"; then..
1aea0 20 20 20 20 20 20 78 64 69 72 3d 22 2e 22 0a 09        xdir="."..
1aeb0 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
1aec0 78 64 69 72 3d 22 24 78 64 69 72 22 0a 09 20 20  xdir="$xdir"..  
1aed0 20 20 66 69 0a 09 20 20 20 20 62 61 73 65 6f 62    fi..    baseob
1aee0 6a 3d 60 24 65 63 68 6f 20 22 58 24 6f 6c 64 6f  j=`$echo "X$oldo
1aef0 62 6a 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  bj" | $Xsed -e '
1af00 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20  s%^.*/%%'`..    
1af10 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 62 61  obj=`$echo "X$ba
1af20 73 65 6f 62 6a 22 20 7c 20 24 58 73 65 64 20 2d  seobj" | $Xsed -
1af30 65 20 22 24 6f 32 6c 6f 22 60 0a 09 20 20 20 20  e "$o2lo"`..    
1af40 24 73 68 6f 77 20 22 28 63 64 20 24 78 64 69 72  $show "(cd $xdir
1af50 20 26 26 20 24 7b 4c 4e 5f 53 7d 20 24 6f 62 6a   && ${LN_S} $obj
1af60 20 24 62 61 73 65 6f 62 6a 29 22 0a 09 20 20 20   $baseobj)"..   
1af70 20 24 72 75 6e 20 65 76 61 6c 20 27 28 63 64 20   $run eval '(cd 
1af80 24 78 64 69 72 20 26 26 20 24 7b 4c 4e 5f 53 7d  $xdir && ${LN_S}
1af90 20 24 6f 62 6a 20 24 62 61 73 65 6f 62 6a 29 27   $obj $baseobj)'
1afa0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 66   || exit $?..  f
1afb0 69 0a 09 64 6f 6e 65 0a 0a 09 65 76 61 6c 20 63  i..done...eval c
1afc0 6d 64 73 3d 5c 22 24 6f 6c 64 5f 61 72 63 68 69  mds=\"$old_archi
1afd0 76 65 5f 63 6d 64 73 5c 22 0a 20 20 20 20 20 20  ve_cmds\".      
1afe0 66 69 0a 20 20 20 20 20 20 73 61 76 65 5f 69 66  fi.      save_if
1aff0 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e  s="$IFS"; IFS='~
1b000 27 0a 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20  '.      for cmd 
1b010 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 49 46  in $cmds; do..IF
1b020 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 24  S="$save_ifs"..$
1b030 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 24 72 75  show "$cmd"..$ru
1b040 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c  n eval "$cmd" ||
1b050 20 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 64   exit $?.      d
1b060 6f 6e 65 0a 20 20 20 20 20 20 49 46 53 3d 22 24  one.      IFS="$
1b070 73 61 76 65 5f 69 66 73 22 0a 20 20 20 20 64 6f  save_ifs".    do
1b080 6e 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  ne..    if test 
1b090 2d 6e 20 22 24 67 65 6e 65 72 61 74 65 64 22 3b  -n "$generated";
1b0a0 20 74 68 65 6e 0a 20 20 20 20 20 20 24 73 68 6f   then.      $sho
1b0b0 77 20 22 24 7b 72 6d 7d 72 24 67 65 6e 65 72 61  w "${rm}r$genera
1b0c0 74 65 64 22 0a 20 20 20 20 20 20 24 72 75 6e 20  ted".      $run 
1b0d0 24 7b 72 6d 7d 72 24 67 65 6e 65 72 61 74 65 64  ${rm}r$generated
1b0e0 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 4e  .    fi..    # N
1b0f0 6f 77 20 63 72 65 61 74 65 20 74 68 65 20 6c 69  ow create the li
1b100 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 2e 0a 20  btool archive.. 
1b110 20 20 20 63 61 73 65 20 24 6f 75 74 70 75 74 20     case $output 
1b120 69 6e 0a 20 20 20 20 2a 2e 6c 61 29 0a 20 20 20  in.    *.la).   
1b130 20 20 20 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 0a     old_library=.
1b140 20 20 20 20 20 20 74 65 73 74 20 22 24 62 75 69        test "$bui
1b150 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79  ld_old_libs" = y
1b160 65 73 20 26 26 20 6f 6c 64 5f 6c 69 62 72 61 72  es && old_librar
1b170 79 3d 22 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62  y="$libname.$lib
1b180 65 78 74 22 0a 20 20 20 20 20 20 24 73 68 6f 77  ext".      $show
1b190 20 22 63 72 65 61 74 69 6e 67 20 24 6f 75 74 70   "creating $outp
1b1a0 75 74 22 0a 0a 20 20 20 20 20 20 23 20 50 72 65  ut"..      # Pre
1b1b0 73 65 72 76 65 20 61 6e 79 20 76 61 72 69 61 62  serve any variab
1b1c0 6c 65 73 20 74 68 61 74 20 6d 61 79 20 61 66 66  les that may aff
1b1d0 65 63 74 20 63 6f 6d 70 69 6c 65 72 20 62 65 68  ect compiler beh
1b1e0 61 76 69 6f 72 0a 20 20 20 20 20 20 66 6f 72 20  avior.      for 
1b1f0 76 61 72 20 69 6e 20 24 76 61 72 69 61 62 6c 65  var in $variable
1b200 73 5f 73 61 76 65 64 5f 66 6f 72 5f 72 65 6c 69  s_saved_for_reli
1b210 6e 6b 3b 20 64 6f 0a 09 69 66 20 65 76 61 6c 20  nk; do..if eval 
1b220 74 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24 76 61  test -z \"\${$va
1b230 72 2b 73 65 74 7d 5c 22 3b 20 74 68 65 6e 0a 09  r+set}\"; then..
1b240 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64    relink_command
1b250 3d 22 7b 20 74 65 73 74 20 2d 7a 20 5c 22 5c 24  ="{ test -z \"\$
1b260 7b 24 76 61 72 2b 73 65 74 7d 5c 22 20 7c 7c 20  {$var+set}\" || 
1b270 75 6e 73 65 74 20 24 76 61 72 20 7c 7c 20 7b 20  unset $var || { 
1b280 24 76 61 72 3d 3b 20 65 78 70 6f 72 74 20 24 76  $var=; export $v
1b290 61 72 3b 20 7d 3b 20 7d 3b 20 24 72 65 6c 69 6e  ar; }; }; $relin
1b2a0 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 65 6c 69 66  k_command"..elif
1b2b0 20 65 76 61 6c 20 76 61 72 5f 76 61 6c 75 65 3d   eval var_value=
1b2c0 5c 24 24 76 61 72 3b 20 74 65 73 74 20 2d 7a 20  \$$var; test -z 
1b2d0 22 24 76 61 72 5f 76 61 6c 75 65 22 3b 20 74 68  "$var_value"; th
1b2e0 65 6e 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d  en..  relink_com
1b2f0 6d 61 6e 64 3d 22 24 76 61 72 3d 3b 20 65 78 70  mand="$var=; exp
1b300 6f 72 74 20 24 76 61 72 3b 20 24 72 65 6c 69 6e  ort $var; $relin
1b310 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 65 6c 73 65  k_command"..else
1b320 0a 09 20 20 76 61 72 5f 76 61 6c 75 65 3d 60 24  ..  var_value=`$
1b330 65 63 68 6f 20 22 58 24 76 61 72 5f 76 61 6c 75  echo "X$var_valu
1b340 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  e" | $Xsed -e "$
1b350 73 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22  sed_quote_subst"
1b360 60 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  `..  relink_comm
1b370 61 6e 64 3d 22 24 76 61 72 3d 5c 22 24 76 61 72  and="$var=\"$var
1b380 5f 76 61 6c 75 65 5c 22 3b 20 65 78 70 6f 72 74  _value\"; export
1b390 20 24 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63   $var; $relink_c
1b3a0 6f 6d 6d 61 6e 64 22 0a 09 66 69 0a 20 20 20 20  ommand"..fi.    
1b3b0 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 23 20 51    done.      # Q
1b3c0 75 6f 74 65 20 74 68 65 20 6c 69 6e 6b 20 63 6f  uote the link co
1b3d0 6d 6d 61 6e 64 20 66 6f 72 20 73 68 69 70 70 69  mmand for shippi
1b3e0 6e 67 2e 0a 20 20 20 20 20 20 72 65 6c 69 6e 6b  ng..      relink
1b3f0 5f 63 6f 6d 6d 61 6e 64 3d 22 28 63 64 20 60 70  _command="(cd `p
1b400 77 64 60 3b 20 24 53 48 45 4c 4c 20 24 30 20 2d  wd`; $SHELL $0 -
1b410 2d 6d 6f 64 65 3d 72 65 6c 69 6e 6b 20 24 6c 69  -mode=relink $li
1b420 62 74 6f 6f 6c 5f 61 72 67 73 20 40 69 6e 73 74  btool_args @inst
1b430 5f 70 72 65 66 69 78 5f 64 69 72 40 29 22 0a 20  _prefix_dir@)". 
1b440 20 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d       relink_comm
1b450 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 72 65  and=`$echo "X$re
1b460 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20  link_command" | 
1b470 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
1b480 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a 20 20  uote_subst"`..  
1b490 20 20 20 20 23 20 4f 6e 6c 79 20 63 72 65 61 74      # Only creat
1b4a0 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 66 20  e the output if 
1b4b0 6e 6f 74 20 61 20 64 72 79 20 72 75 6e 2e 0a 20  not a dry run.. 
1b4c0 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20       if test -z 
1b4d0 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a 09 66 6f  "$run"; then..fo
1b4e0 72 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 6e  r installed in n
1b4f0 6f 20 79 65 73 3b 20 64 6f 0a 09 20 20 69 66 20  o yes; do..  if 
1b500 74 65 73 74 20 22 24 69 6e 73 74 61 6c 6c 65 64  test "$installed
1b510 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
1b520 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
1b530 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69 72 22 3b  install_libdir";
1b540 20 74 68 65 6e 0a 09 20 20 20 20 20 20 62 72 65   then..      bre
1b550 61 6b 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  ak..    fi..    
1b560 6f 75 74 70 75 74 3d 22 24 6f 75 74 70 75 74 5f  output="$output_
1b570 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74 6e 61  objdir/$outputna
1b580 6d 65 22 69 0a 09 20 20 20 20 23 20 52 65 70 6c  me"i..    # Repl
1b590 61 63 65 20 61 6c 6c 20 75 6e 69 6e 73 74 61 6c  ace all uninstal
1b5a0 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72  led libtool libr
1b5b0 61 72 69 65 73 20 77 69 74 68 20 74 68 65 20 69  aries with the i
1b5c0 6e 73 74 61 6c 6c 65 64 20 6f 6e 65 73 0a 09 20  nstalled ones.. 
1b5d0 20 20 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79     newdependency
1b5e0 5f 6c 69 62 73 3d 0a 09 20 20 20 20 66 6f 72 20  _libs=..    for 
1b5f0 64 65 70 6c 69 62 20 69 6e 20 24 64 65 70 65 6e  deplib in $depen
1b600 64 65 6e 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09  dency_libs; do..
1b610 20 20 20 20 20 20 63 61 73 65 20 24 64 65 70 6c        case $depl
1b620 69 62 20 69 6e 0a 09 20 20 20 20 20 20 2a 2e 6c  ib in..      *.l
1b630 61 29 0a 09 09 6e 61 6d 65 3d 60 24 65 63 68 6f  a)...name=`$echo
1b640 20 22 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58   "X$deplib" | $X
1b650 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  sed -e 's%^.*/%%
1b660 27 60 0a 09 09 65 76 61 6c 20 6c 69 62 64 69 72  '`...eval libdir
1b670 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27  =`${SED} -n -e '
1b680 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29  s/^libdir=\(.*\)
1b690 24 2f 5c 31 2f 70 27 20 24 64 65 70 6c 69 62 60  $/\1/p' $deplib`
1b6a0 0a 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24  ...if test -z "$
1b6b0 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 09  libdir"; then...
1b6c0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
1b6d0 6d 65 3a 20 5c 60 24 64 65 70 6c 69 62 27 20 69  me: \`$deplib' i
1b6e0 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69  s not a valid li
1b6f0 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31  btool archive" 1
1b700 3e 26 32 0a 09 09 20 20 65 78 69 74 20 31 0a 09  >&2...  exit 1..
1b710 09 66 69 0a 09 09 6e 65 77 64 65 70 65 6e 64 65  .fi...newdepende
1b720 6e 63 79 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65  ncy_libs="$newde
1b730 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 20 24 6c  pendency_libs $l
1b740 69 62 64 69 72 2f 24 6e 61 6d 65 22 0a 09 09 3b  ibdir/$name"...;
1b750 3b 0a 09 20 20 20 20 20 20 2a 29 20 6e 65 77 64  ;..      *) newd
1b760 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
1b770 24 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c  $newdependency_l
1b780 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a  ibs $deplib" ;;.
1b790 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
1b7a0 20 64 6f 6e 65 0a 09 20 20 20 20 64 65 70 65 6e   done..    depen
1b7b0 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 6e 65 77  dency_libs="$new
1b7c0 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22  dependency_libs"
1b7d0 0a 09 20 20 20 20 6e 65 77 64 6c 66 69 6c 65 73  ..    newdlfiles
1b7e0 3d 0a 09 20 20 20 20 66 6f 72 20 6c 69 62 20 69  =..    for lib i
1b7f0 6e 20 24 64 6c 66 69 6c 65 73 3b 20 64 6f 0a 09  n $dlfiles; do..
1b800 20 20 20 20 20 20 6e 61 6d 65 3d 60 24 65 63 68        name=`$ech
1b810 6f 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65  o "X$lib" | $Xse
1b820 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60  d -e 's%^.*/%%'`
1b830 0a 09 20 20 20 20 20 20 65 76 61 6c 20 6c 69 62  ..      eval lib
1b840 64 69 72 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d  dir=`${SED} -n -
1b850 65 20 27 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e  e 's/^libdir=\(.
1b860 2a 5c 29 24 2f 5c 31 2f 70 27 20 24 6c 69 62 60  *\)$/\1/p' $lib`
1b870 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
1b880 2d 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68  -z "$libdir"; th
1b890 65 6e 0a 09 09 24 65 63 68 6f 20 22 24 6d 6f 64  en...$echo "$mod
1b8a0 65 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69  ename: \`$lib' i
1b8b0 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69  s not a valid li
1b8c0 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31  btool archive" 1
1b8d0 3e 26 32 0a 09 09 65 78 69 74 20 31 0a 09 20 20  >&2...exit 1..  
1b8e0 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 6e 65      fi..      ne
1b8f0 77 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c  wdlfiles="$newdl
1b900 66 69 6c 65 73 20 24 6c 69 62 64 69 72 2f 24 6e  files $libdir/$n
1b910 61 6d 65 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09  ame"..    done..
1b920 20 20 20 20 64 6c 66 69 6c 65 73 3d 22 24 6e 65      dlfiles="$ne
1b930 77 64 6c 66 69 6c 65 73 22 0a 09 20 20 20 20 6e  wdlfiles"..    n
1b940 65 77 64 6c 70 72 65 66 69 6c 65 73 3d 0a 09 20  ewdlprefiles=.. 
1b950 20 20 20 66 6f 72 20 6c 69 62 20 69 6e 20 24 64     for lib in $d
1b960 6c 70 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20  lprefiles; do.. 
1b970 20 20 20 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f       name=`$echo
1b980 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64   "X$lib" | $Xsed
1b990 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
1b9a0 09 20 20 20 20 20 20 65 76 61 6c 20 6c 69 62 64  .      eval libd
1b9b0 69 72 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65  ir=`${SED} -n -e
1b9c0 20 27 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a   's/^libdir=\(.*
1b9d0 5c 29 24 2f 5c 31 2f 70 27 20 24 6c 69 62 60 0a  \)$/\1/p' $lib`.
1b9e0 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
1b9f0 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65  z "$libdir"; the
1ba00 6e 0a 09 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  n...$echo "$mode
1ba10 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73  name: \`$lib' is
1ba20 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62   not a valid lib
1ba30 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e  tool archive" 1>
1ba40 26 32 0a 09 09 65 78 69 74 20 31 0a 09 20 20 20  &2...exit 1..   
1ba50 20 20 20 66 69 0a 09 20 20 20 20 20 20 6e 65 77     fi..      new
1ba60 64 6c 70 72 65 66 69 6c 65 73 3d 22 24 6e 65 77  dlprefiles="$new
1ba70 64 6c 70 72 65 66 69 6c 65 73 20 24 6c 69 62 64  dlprefiles $libd
1ba80 69 72 2f 24 6e 61 6d 65 22 0a 09 20 20 20 20 64  ir/$name"..    d
1ba90 6f 6e 65 0a 09 20 20 20 20 64 6c 70 72 65 66 69  one..    dlprefi
1baa0 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69  les="$newdlprefi
1bab0 6c 65 73 22 0a 09 20 20 66 69 0a 09 20 20 24 72  les"..  fi..  $r
1bac0 6d 20 24 6f 75 74 70 75 74 0a 09 20 20 23 20 70  m $output..  # p
1bad0 6c 61 63 65 20 64 6c 6e 61 6d 65 20 69 6e 20 63  lace dlname in c
1bae0 6f 72 72 65 63 74 20 70 6f 73 69 74 69 6f 6e 20  orrect position 
1baf0 66 6f 72 20 63 79 67 77 69 6e 0a 09 20 20 74 64  for cygwin..  td
1bb00 6c 6e 61 6d 65 3d 24 64 6c 6e 61 6d 65 0a 09 20  lname=$dlname.. 
1bb10 20 63 61 73 65 20 24 68 6f 73 74 2c 24 6f 75 74   case $host,$out
1bb20 70 75 74 2c 24 69 6e 73 74 61 6c 6c 65 64 2c 24  put,$installed,$
1bb30 6d 6f 64 75 6c 65 2c 24 64 6c 6e 61 6d 65 20 69  module,$dlname i
1bb40 6e 0a 09 20 20 20 20 2a 63 79 67 77 69 6e 2a 2c  n..    *cygwin*,
1bb50 2a 6c 61 69 2c 79 65 73 2c 6e 6f 2c 2a 2e 64 6c  *lai,yes,no,*.dl
1bb60 6c 29 20 74 64 6c 6e 61 6d 65 3d 2e 2e 2f 62 69  l) tdlname=../bi
1bb70 6e 2f 24 64 6c 6e 61 6d 65 20 3b 3b 0a 09 20 20  n/$dlname ;;..  
1bb80 65 73 61 63 0a 09 20 20 24 65 63 68 6f 20 3e 20  esac..  $echo > 
1bb90 24 6f 75 74 70 75 74 20 22 5c 0a 23 20 24 6f 75  $output "\.# $ou
1bba0 74 70 75 74 6e 61 6d 65 20 2d 20 61 20 6c 69 62  tputname - a lib
1bbb0 74 6f 6f 6c 20 6c 69 62 72 61 72 79 20 66 69 6c  tool library fil
1bbc0 65 0a 23 20 47 65 6e 65 72 61 74 65 64 20 62 79  e.# Generated by
1bbd0 20 24 50 52 4f 47 52 41 4d 20 2d 20 47 4e 55 20   $PROGRAM - GNU 
1bbe0 24 50 41 43 4b 41 47 45 20 24 56 45 52 53 49 4f  $PACKAGE $VERSIO
1bbf0 4e 24 54 49 4d 45 53 54 41 4d 50 0a 23 0a 23 20  N$TIMESTAMP.#.# 
1bc00 50 6c 65 61 73 65 20 44 4f 20 4e 4f 54 20 64 65  Please DO NOT de
1bc10 6c 65 74 65 20 74 68 69 73 20 66 69 6c 65 21 0a  lete this file!.
1bc20 23 20 49 74 20 69 73 20 6e 65 63 65 73 73 61 72  # It is necessar
1bc30 79 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 74 68  y for linking th
1bc40 65 20 6c 69 62 72 61 72 79 2e 0a 0a 23 20 54 68  e library...# Th
1bc50 65 20 6e 61 6d 65 20 74 68 61 74 20 77 65 20 63  e name that we c
1bc60 61 6e 20 64 6c 6f 70 65 6e 28 33 29 2e 0a 64 6c  an dlopen(3)..dl
1bc70 6e 61 6d 65 3d 27 24 74 64 6c 6e 61 6d 65 27 0a  name='$tdlname'.
1bc80 0a 23 20 4e 61 6d 65 73 20 6f 66 20 74 68 69 73  .# Names of this
1bc90 20 6c 69 62 72 61 72 79 2e 0a 6c 69 62 72 61 72   library..librar
1bca0 79 5f 6e 61 6d 65 73 3d 27 24 6c 69 62 72 61 72  y_names='$librar
1bcb0 79 5f 6e 61 6d 65 73 27 0a 0a 23 20 54 68 65 20  y_names'..# The 
1bcc0 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 74 61 74  name of the stat
1bcd0 69 63 20 61 72 63 68 69 76 65 2e 0a 6f 6c 64 5f  ic archive..old_
1bce0 6c 69 62 72 61 72 79 3d 27 24 6f 6c 64 5f 6c 69  library='$old_li
1bcf0 62 72 61 72 79 27 0a 0a 23 20 4c 69 62 72 61 72  brary'..# Librar
1bd00 69 65 73 20 74 68 61 74 20 74 68 69 73 20 6f 6e  ies that this on
1bd10 65 20 64 65 70 65 6e 64 73 20 75 70 6f 6e 2e 0a  e depends upon..
1bd20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d  dependency_libs=
1bd30 27 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  '$dependency_lib
1bd40 73 27 0a 0a 23 20 56 65 72 73 69 6f 6e 20 69 6e  s'..# Version in
1bd50 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 24 6c  formation for $l
1bd60 69 62 6e 61 6d 65 2e 0a 63 75 72 72 65 6e 74 3d  ibname..current=
1bd70 24 63 75 72 72 65 6e 74 0a 61 67 65 3d 24 61 67  $current.age=$ag
1bd80 65 0a 72 65 76 69 73 69 6f 6e 3d 24 72 65 76 69  e.revision=$revi
1bd90 73 69 6f 6e 0a 0a 23 20 49 73 20 74 68 69 73 20  sion..# Is this 
1bda0 61 6e 20 61 6c 72 65 61 64 79 20 69 6e 73 74 61  an already insta
1bdb0 6c 6c 65 64 20 6c 69 62 72 61 72 79 3f 0a 69 6e  lled library?.in
1bdc0 73 74 61 6c 6c 65 64 3d 24 69 6e 73 74 61 6c 6c  stalled=$install
1bdd0 65 64 0a 0a 23 20 46 69 6c 65 73 20 74 6f 20 64  ed..# Files to d
1bde0 6c 6f 70 65 6e 2f 64 6c 70 72 65 6f 70 65 6e 0a  lopen/dlpreopen.
1bdf0 64 6c 6f 70 65 6e 3d 27 24 64 6c 66 69 6c 65 73  dlopen='$dlfiles
1be00 27 0a 64 6c 70 72 65 6f 70 65 6e 3d 27 24 64 6c  '.dlpreopen='$dl
1be10 70 72 65 66 69 6c 65 73 27 0a 0a 23 20 44 69 72  prefiles'..# Dir
1be20 65 63 74 6f 72 79 20 74 68 61 74 20 74 68 69 73  ectory that this
1be30 20 6c 69 62 72 61 72 79 20 6e 65 65 64 73 20 74   library needs t
1be40 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69  o be installed i
1be50 6e 3a 0a 6c 69 62 64 69 72 3d 27 24 69 6e 73 74  n:.libdir='$inst
1be60 61 6c 6c 5f 6c 69 62 64 69 72 27 22 0a 09 20 20  all_libdir'"..  
1be70 69 66 20 74 65 73 74 20 22 24 69 6e 73 74 61 6c  if test "$instal
1be80 6c 65 64 22 20 3d 20 6e 6f 20 26 26 20 74 65 73  led" = no && tes
1be90 74 20 24 6e 65 65 64 5f 72 65 6c 69 6e 6b 20 3d  t $need_relink =
1bea0 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
1beb0 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
1bec0 20 22 5c 0a 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61   "\.relink_comma
1bed0 6e 64 3d 5c 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d  nd=\"$relink_com
1bee0 6d 61 6e 64 5c 22 22 0a 09 20 20 66 69 0a 09 64  mand\""..  fi..d
1bef0 6f 6e 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  one.      fi..  
1bf00 20 20 20 20 23 20 44 6f 20 61 20 73 79 6d 62 6f      # Do a symbo
1bf10 6c 69 63 20 6c 69 6e 6b 20 73 6f 20 74 68 61 74  lic link so that
1bf20 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20 61 72 63   the libtool arc
1bf30 68 69 76 65 20 63 61 6e 20 62 65 20 66 6f 75 6e  hive can be foun
1bf40 64 20 69 6e 0a 20 20 20 20 20 20 23 20 4c 44 5f  d in.      # LD_
1bf50 4c 49 42 52 41 52 59 5f 50 41 54 48 20 62 65 66  LIBRARY_PATH bef
1bf60 6f 72 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20  ore the program 
1bf70 69 73 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 20 20  is installed..  
1bf80 20 20 20 20 24 73 68 6f 77 20 22 28 63 64 20 24      $show "(cd $
1bf90 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 20 26 26  output_objdir &&
1bfa0 20 24 72 6d 20 24 6f 75 74 70 75 74 6e 61 6d 65   $rm $outputname
1bfb0 20 26 26 20 24 4c 4e 5f 53 20 2e 2e 2f 24 6f 75   && $LN_S ../$ou
1bfc0 74 70 75 74 6e 61 6d 65 20 24 6f 75 74 70 75 74  tputname $output
1bfd0 6e 61 6d 65 29 22 0a 20 20 20 20 20 20 24 72 75  name)".      $ru
1bfe0 6e 20 65 76 61 6c 20 27 28 63 64 20 24 6f 75 74  n eval '(cd $out
1bff0 70 75 74 5f 6f 62 6a 64 69 72 20 26 26 20 24 72  put_objdir && $r
1c000 6d 20 24 6f 75 74 70 75 74 6e 61 6d 65 20 26 26  m $outputname &&
1c010 20 24 4c 4e 5f 53 20 2e 2e 2f 24 6f 75 74 70 75   $LN_S ../$outpu
1c020 74 6e 61 6d 65 20 24 6f 75 74 70 75 74 6e 61 6d  tname $outputnam
1c030 65 29 27 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20  e)' || exit $?. 
1c040 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
1c050 0a 20 20 20 20 65 78 69 74 20 30 0a 20 20 20 20  .    exit 0.    
1c060 3b 3b 0a 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20  ;;..  # libtool 
1c070 69 6e 73 74 61 6c 6c 20 6d 6f 64 65 0a 20 20 69  install mode.  i
1c080 6e 73 74 61 6c 6c 29 0a 20 20 20 20 6d 6f 64 65  nstall).    mode
1c090 6e 61 6d 65 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a  name="$modename:
1c0a0 20 69 6e 73 74 61 6c 6c 22 0a 0a 20 20 20 20 23   install"..    #
1c0b0 20 54 68 65 72 65 20 6d 61 79 20 62 65 20 61 6e   There may be an
1c0c0 20 6f 70 74 69 6f 6e 61 6c 20 73 68 28 31 29 20   optional sh(1) 
1c0d0 61 72 67 75 6d 65 6e 74 20 61 74 20 74 68 65 20  argument at the 
1c0e0 62 65 67 69 6e 6e 69 6e 67 20 6f 66 0a 20 20 20  beginning of.   
1c0f0 20 23 20 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20   # install_prog 
1c100 28 65 73 70 65 63 69 61 6c 6c 79 20 6f 6e 20 57  (especially on W
1c110 69 6e 64 6f 77 73 20 4e 54 29 2e 0a 20 20 20 20  indows NT)..    
1c120 69 66 20 74 65 73 74 20 22 24 6e 6f 6e 6f 70 74  if test "$nonopt
1c130 22 20 3d 20 22 24 53 48 45 4c 4c 22 20 7c 7c 20  " = "$SHELL" || 
1c140 74 65 73 74 20 22 24 6e 6f 6e 6f 70 74 22 20 3d  test "$nonopt" =
1c150 20 2f 62 69 6e 2f 73 68 20 7c 7c 0a 20 20 20 20   /bin/sh ||.    
1c160 20 20 20 23 20 41 6c 6c 6f 77 20 74 68 65 20 75     # Allow the u
1c170 73 65 20 6f 66 20 47 4e 55 20 73 68 74 6f 6f 6c  se of GNU shtool
1c180 27 73 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61  's install comma
1c190 6e 64 2e 0a 20 20 20 20 20 20 20 24 65 63 68 6f  nd..       $echo
1c1a0 20 22 58 24 6e 6f 6e 6f 70 74 22 20 7c 20 24 58   "X$nonopt" | $X
1c1b0 73 65 64 20 7c 20 67 72 65 70 20 73 68 74 6f 6f  sed | grep shtoo
1c1c0 6c 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74  l > /dev/null; t
1c1d0 68 65 6e 0a 20 20 20 20 20 20 23 20 41 65 73 74  hen.      # Aest
1c1e0 68 65 74 69 63 61 6c 6c 79 20 71 75 6f 74 65 20  hetically quote 
1c1f0 69 74 2e 0a 20 20 20 20 20 20 61 72 67 3d 60 24  it..      arg=`$
1c200 65 63 68 6f 20 22 58 24 6e 6f 6e 6f 70 74 22 20  echo "X$nonopt" 
1c210 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65 64  | $Xsed -e "$sed
1c220 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 20  _quote_subst"`. 
1c230 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69       case $arg i
1c240 6e 0a 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c 23  n.      *[\[\~\#
1c250 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c  \^\&\*\(\)\{\}\|
1c260 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a  \;\<\>\?\'\ \.]*
1c270 7c 2a 5d 2a 29 0a 09 61 72 67 3d 22 5c 22 24 61  |*]*)..arg="\"$a
1c280 72 67 5c 22 22 0a 09 3b 3b 0a 20 20 20 20 20 20  rg\""..;;.      
1c290 65 73 61 63 0a 20 20 20 20 20 20 69 6e 73 74 61  esac.      insta
1c2a0 6c 6c 5f 70 72 6f 67 3d 22 24 61 72 67 20 22 0a  ll_prog="$arg ".
1c2b0 20 20 20 20 20 20 61 72 67 3d 22 24 31 22 0a 20        arg="$1". 
1c2c0 20 20 20 20 20 73 68 69 66 74 0a 20 20 20 20 65       shift.    e
1c2d0 6c 73 65 0a 20 20 20 20 20 20 69 6e 73 74 61 6c  lse.      instal
1c2e0 6c 5f 70 72 6f 67 3d 0a 20 20 20 20 20 20 61 72  l_prog=.      ar
1c2f0 67 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20  g="$nonopt".    
1c300 66 69 0a 0a 20 20 20 20 23 20 54 68 65 20 72 65  fi..    # The re
1c310 61 6c 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e  al first argumen
1c320 74 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 20  t should be the 
1c330 6e 61 6d 65 20 6f 66 20 74 68 65 20 69 6e 73 74  name of the inst
1c340 61 6c 6c 61 74 69 6f 6e 20 70 72 6f 67 72 61 6d  allation program
1c350 2e 0a 20 20 20 20 23 20 41 65 73 74 68 65 74 69  ..    # Aestheti
1c360 63 61 6c 6c 79 20 71 75 6f 74 65 20 69 74 2e 0a  cally quote it..
1c370 20 20 20 20 61 72 67 3d 60 24 65 63 68 6f 20 22      arg=`$echo "
1c380 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
1c390 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
1c3a0 62 73 74 22 60 0a 20 20 20 20 63 61 73 65 20 24  bst"`.    case $
1c3b0 61 72 67 20 69 6e 0a 20 20 20 20 2a 5b 5c 5b 5c  arg in.    *[\[\
1c3c0 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c  ~\#\^\&\*\(\)\{\
1c3d0 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c  }\|\;\<\>\?\'\ \
1c3e0 09 5d 2a 7c 2a 5d 2a 29 0a 20 20 20 20 20 20 61  .]*|*]*).      a
1c3f0 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 20 20  rg="\"$arg\"".  
1c400 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a      ;;.    esac.
1c410 20 20 20 20 69 6e 73 74 61 6c 6c 5f 70 72 6f 67      install_prog
1c420 3d 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 24  ="$install_prog$
1c430 61 72 67 22 0a 0a 20 20 20 20 23 20 57 65 20 6e  arg"..    # We n
1c440 65 65 64 20 74 6f 20 61 63 63 65 70 74 20 61 74  eed to accept at
1c450 20 6c 65 61 73 74 20 61 6c 6c 20 74 68 65 20 42   least all the B
1c460 53 44 20 69 6e 73 74 61 6c 6c 20 66 6c 61 67 73  SD install flags
1c470 2e 0a 20 20 20 20 64 65 73 74 3d 0a 20 20 20 20  ..    dest=.    
1c480 66 69 6c 65 73 3d 0a 20 20 20 20 6f 70 74 73 3d  files=.    opts=
1c490 0a 20 20 20 20 70 72 65 76 3d 0a 20 20 20 20 69  .    prev=.    i
1c4a0 6e 73 74 61 6c 6c 5f 74 79 70 65 3d 0a 20 20 20  nstall_type=.   
1c4b0 20 69 73 64 69 72 3d 6e 6f 0a 20 20 20 20 73 74   isdir=no.    st
1c4c0 72 69 70 6d 65 3d 0a 20 20 20 20 66 6f 72 20 61  ripme=.    for a
1c4d0 72 67 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20  rg.    do.      
1c4e0 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65 73  if test -n "$des
1c4f0 74 22 3b 20 74 68 65 6e 0a 09 66 69 6c 65 73 3d  t"; then..files=
1c500 22 24 66 69 6c 65 73 20 24 64 65 73 74 22 0a 09  "$files $dest"..
1c510 64 65 73 74 3d 22 24 61 72 67 22 0a 09 63 6f 6e  dest="$arg"..con
1c520 74 69 6e 75 65 0a 20 20 20 20 20 20 66 69 0a 0a  tinue.      fi..
1c530 20 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20        case $arg 
1c540 69 6e 0a 20 20 20 20 20 20 2d 64 29 20 69 73 64  in.      -d) isd
1c550 69 72 3d 79 65 73 20 3b 3b 0a 20 20 20 20 20 20  ir=yes ;;.      
1c560 2d 66 29 20 70 72 65 76 3d 22 2d 66 22 20 3b 3b  -f) prev="-f" ;;
1c570 0a 20 20 20 20 20 20 2d 67 29 20 70 72 65 76 3d  .      -g) prev=
1c580 22 2d 67 22 20 3b 3b 0a 20 20 20 20 20 20 2d 6d  "-g" ;;.      -m
1c590 29 20 70 72 65 76 3d 22 2d 6d 22 20 3b 3b 0a 20  ) prev="-m" ;;. 
1c5a0 20 20 20 20 20 2d 6f 29 20 70 72 65 76 3d 22 2d       -o) prev="-
1c5b0 6f 22 20 3b 3b 0a 20 20 20 20 20 20 2d 73 29 0a  o" ;;.      -s).
1c5c0 09 73 74 72 69 70 6d 65 3d 22 20 2d 73 22 0a 09  .stripme=" -s"..
1c5d0 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20 20 20  continue..;;.   
1c5e0 20 20 20 2d 2a 29 20 3b 3b 0a 0a 20 20 20 20 20     -*) ;;..     
1c5f0 20 2a 29 0a 09 23 20 49 66 20 74 68 65 20 70 72   *)..# If the pr
1c600 65 76 69 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65  evious option ne
1c610 65 64 65 64 20 61 6e 20 61 72 67 75 6d 65 6e 74  eded an argument
1c620 2c 20 74 68 65 6e 20 73 6b 69 70 20 69 74 2e 0a  , then skip it..
1c630 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72  .if test -n "$pr
1c640 65 76 22 3b 20 74 68 65 6e 0a 09 20 20 70 72 65  ev"; then..  pre
1c650 76 3d 0a 09 65 6c 73 65 0a 09 20 20 64 65 73 74  v=..else..  dest
1c660 3d 22 24 61 72 67 22 0a 09 20 20 63 6f 6e 74 69  ="$arg"..  conti
1c670 6e 75 65 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20  nue..fi..;;.    
1c680 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20 23 20    esac..      # 
1c690 41 65 73 74 68 65 74 69 63 61 6c 6c 79 20 71 75  Aesthetically qu
1c6a0 6f 74 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74  ote the argument
1c6b0 2e 0a 20 20 20 20 20 20 61 72 67 3d 60 24 65 63  ..      arg=`$ec
1c6c0 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73  ho "X$arg" | $Xs
1c6d0 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
1c6e0 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20 20 20  e_subst"`.      
1c6f0 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20  case $arg in.   
1c700 20 20 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c     *[\[\~\#\^\&\
1c710 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c  *\(\)\{\}\|\;\<\
1c720 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 29  >\?\'\ \.]*|*]*)
1c730 0a 09 61 72 67 3d 22 5c 22 24 61 72 67 5c 22 22  ..arg="\"$arg\""
1c740 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
1c750 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f 70 72        install_pr
1c760 6f 67 3d 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f  og="$install_pro
1c770 67 20 24 61 72 67 22 0a 20 20 20 20 64 6f 6e 65  g $arg".    done
1c780 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a  ..    if test -z
1c790 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 22   "$install_prog"
1c7a0 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63  ; then.      $ec
1c7b0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79  ho "$modename: y
1c7c0 6f 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20  ou must specify 
1c7d0 61 6e 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67 72  an install progr
1c7e0 61 6d 22 20 31 3e 26 32 0a 20 20 20 20 20 20 24  am" 1>&2.      $
1c7f0 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
1c800 32 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20  2.      exit 1. 
1c810 20 20 20 66 69 0a 0a 20 20 20 20 69 66 20 74 65     fi..    if te
1c820 73 74 20 2d 6e 20 22 24 70 72 65 76 22 3b 20 74  st -n "$prev"; t
1c830 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20  hen.      $echo 
1c840 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 74 68 65 20  "$modename: the 
1c850 5c 60 24 70 72 65 76 27 20 6f 70 74 69 6f 6e 20  \`$prev' option 
1c860 72 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75  requires an argu
1c870 6d 65 6e 74 22 20 31 3e 26 32 0a 20 20 20 20 20  ment" 1>&2.     
1c880 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31   $echo "$help" 1
1c890 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74 20 31  >&2.      exit 1
1c8a0 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 69 66 20  .    fi..    if 
1c8b0 74 65 73 74 20 2d 7a 20 22 24 66 69 6c 65 73 22  test -z "$files"
1c8c0 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 69 66 20  ; then.      if 
1c8d0 74 65 73 74 20 2d 7a 20 22 24 64 65 73 74 22 3b  test -z "$dest";
1c8e0 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
1c8f0 6f 64 65 6e 61 6d 65 3a 20 6e 6f 20 66 69 6c 65  odename: no file
1c900 20 6f 72 20 64 65 73 74 69 6e 61 74 69 6f 6e 20   or destination 
1c910 73 70 65 63 69 66 69 65 64 22 20 31 3e 26 32 0a  specified" 1>&2.
1c920 20 20 20 20 20 20 65 6c 73 65 0a 09 24 65 63 68        else..$ech
1c930 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f  o "$modename: yo
1c940 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61  u must specify a
1c950 20 64 65 73 74 69 6e 61 74 69 6f 6e 22 20 31 3e   destination" 1>
1c960 26 32 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20  &2.      fi.    
1c970 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20    $echo "$help" 
1c980 31 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74 20  1>&2.      exit 
1c990 31 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20  1.    fi..    # 
1c9a0 53 74 72 69 70 20 61 6e 79 20 74 72 61 69 6c 69  Strip any traili
1c9b0 6e 67 20 73 6c 61 73 68 20 66 72 6f 6d 20 74 68  ng slash from th
1c9c0 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0a 20  e destination.. 
1c9d0 20 20 20 64 65 73 74 3d 60 24 65 63 68 6f 20 22     dest=`$echo "
1c9e0 58 24 64 65 73 74 22 20 7c 20 24 58 73 65 64 20  X$dest" | $Xsed 
1c9f0 2d 65 20 27 73 25 2f 24 25 25 27 60 0a 0a 20 20  -e 's%/$%%'`..  
1ca00 20 20 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65    # Check to see
1ca10 20 74 68 61 74 20 74 68 65 20 64 65 73 74 69 6e   that the destin
1ca20 61 74 69 6f 6e 20 69 73 20 61 20 64 69 72 65 63  ation is a direc
1ca30 74 6f 72 79 2e 0a 20 20 20 20 74 65 73 74 20 2d  tory..    test -
1ca40 64 20 22 24 64 65 73 74 22 20 26 26 20 69 73 64  d "$dest" && isd
1ca50 69 72 3d 79 65 73 0a 20 20 20 20 69 66 20 74 65  ir=yes.    if te
1ca60 73 74 20 22 24 69 73 64 69 72 22 20 3d 20 79 65  st "$isdir" = ye
1ca70 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 64 65  s; then.      de
1ca80 73 74 64 69 72 3d 22 24 64 65 73 74 22 0a 20 20  stdir="$dest".  
1ca90 20 20 20 20 64 65 73 74 6e 61 6d 65 3d 0a 20 20      destname=.  
1caa0 20 20 65 6c 73 65 0a 20 20 20 20 20 20 64 65 73    else.      des
1cab0 74 64 69 72 3d 60 24 65 63 68 6f 20 22 58 24 64  tdir=`$echo "X$d
1cac0 65 73 74 22 20 7c 20 24 58 73 65 64 20 2d 65 20  est" | $Xsed -e 
1cad0 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20  's%/[^/]*$%%'`. 
1cae0 20 20 20 20 20 74 65 73 74 20 22 58 24 64 65 73       test "X$des
1caf0 74 64 69 72 22 20 3d 20 22 58 24 64 65 73 74 22  tdir" = "X$dest"
1cb00 20 26 26 20 64 65 73 74 64 69 72 3d 2e 0a 20 20   && destdir=..  
1cb10 20 20 20 20 64 65 73 74 6e 61 6d 65 3d 60 24 65      destname=`$e
1cb20 63 68 6f 20 22 58 24 64 65 73 74 22 20 7c 20 24  cho "X$dest" | $
1cb30 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
1cb40 25 27 60 0a 0a 20 20 20 20 20 20 23 20 4e 6f 74  %'`..      # Not
1cb50 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 73 6f   a directory, so
1cb60 20 63 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68   check to see th
1cb70 61 74 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79  at there is only
1cb80 20 6f 6e 65 20 66 69 6c 65 20 73 70 65 63 69 66   one file specif
1cb90 69 65 64 2e 0a 20 20 20 20 20 20 73 65 74 20 64  ied..      set d
1cba0 75 6d 6d 79 20 24 66 69 6c 65 73 0a 20 20 20 20  ummy $files.    
1cbb0 20 20 69 66 20 74 65 73 74 20 24 23 20 2d 67 74    if test $# -gt
1cbc0 20 32 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20   2; then..$echo 
1cbd0 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 64  "$modename: \`$d
1cbe0 65 73 74 27 20 69 73 20 6e 6f 74 20 61 20 64 69  est' is not a di
1cbf0 72 65 63 74 6f 72 79 22 20 31 3e 26 32 0a 09 24  rectory" 1>&2..$
1cc00 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
1cc10 32 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20 20  2..exit 1.      
1cc20 66 69 0a 20 20 20 20 66 69 0a 20 20 20 20 63 61  fi.    fi.    ca
1cc30 73 65 20 24 64 65 73 74 64 69 72 20 69 6e 0a 20  se $destdir in. 
1cc40 20 20 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a     [\\/]* | [A-Z
1cc50 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a  a-z]:[\\/]*) ;;.
1cc60 20 20 20 20 2a 29 0a 20 20 20 20 20 20 66 6f 72      *).      for
1cc70 20 66 69 6c 65 20 69 6e 20 24 66 69 6c 65 73 3b   file in $files;
1cc80 20 64 6f 0a 09 63 61 73 65 20 24 66 69 6c 65 20   do..case $file 
1cc90 69 6e 0a 09 2a 2e 6c 6f 29 20 3b 3b 0a 09 2a 29  in..*.lo) ;;..*)
1cca0 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
1ccb0 6e 61 6d 65 3a 20 5c 60 24 64 65 73 74 64 69 72  name: \`$destdir
1ccc0 27 20 6d 75 73 74 20 62 65 20 61 6e 20 61 62 73  ' must be an abs
1ccd0 6f 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79 20  olute directory 
1cce0 6e 61 6d 65 22 20 31 3e 26 32 0a 09 20 20 24 65  name" 1>&2..  $e
1ccf0 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32  cho "$help" 1>&2
1cd00 0a 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b  ..  exit 1..  ;;
1cd10 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64 6f 6e  ..esac.      don
1cd20 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  e.      ;;.    e
1cd30 73 61 63 0a 0a 20 20 20 20 23 20 54 68 69 73 20  sac..    # This 
1cd40 76 61 72 69 61 62 6c 65 20 74 65 6c 6c 73 20 77  variable tells w
1cd50 72 61 70 70 65 72 20 73 63 72 69 70 74 73 20 6a  rapper scripts j
1cd60 75 73 74 20 74 6f 20 73 65 74 20 76 61 72 69 61  ust to set varia
1cd70 62 6c 65 73 20 72 61 74 68 65 72 0a 20 20 20 20  bles rather.    
1cd80 23 20 74 68 61 6e 20 72 75 6e 6e 69 6e 67 20 74  # than running t
1cd90 68 65 69 72 20 70 72 6f 67 72 61 6d 73 2e 0a 20  heir programs.. 
1cda0 20 20 20 6c 69 62 74 6f 6f 6c 5f 69 6e 73 74 61     libtool_insta
1cdb0 6c 6c 5f 6d 61 67 69 63 3d 22 24 6d 61 67 69 63  ll_magic="$magic
1cdc0 22 0a 0a 20 20 20 20 73 74 61 74 69 63 6c 69 62  "..    staticlib
1cdd0 73 3d 0a 20 20 20 20 66 75 74 75 72 65 5f 6c 69  s=.    future_li
1cde0 62 64 69 72 73 3d 0a 20 20 20 20 63 75 72 72 65  bdirs=.    curre
1cdf0 6e 74 5f 6c 69 62 64 69 72 73 3d 0a 20 20 20 20  nt_libdirs=.    
1ce00 66 6f 72 20 66 69 6c 65 20 69 6e 20 24 66 69 6c  for file in $fil
1ce10 65 73 3b 20 64 6f 0a 0a 20 20 20 20 20 20 23 20  es; do..      # 
1ce20 44 6f 20 65 61 63 68 20 69 6e 73 74 61 6c 6c 61  Do each installa
1ce30 74 69 6f 6e 2e 0a 20 20 20 20 20 20 63 61 73 65  tion..      case
1ce40 20 24 66 69 6c 65 20 69 6e 0a 20 20 20 20 20 20   $file in.      
1ce50 2a 2e 24 6c 69 62 65 78 74 29 0a 09 23 20 44 6f  *.$libext)..# Do
1ce60 20 74 68 65 20 73 74 61 74 69 63 20 6c 69 62 72   the static libr
1ce70 61 72 69 65 73 20 6c 61 74 65 72 2e 0a 09 73 74  aries later...st
1ce80 61 74 69 63 6c 69 62 73 3d 22 24 73 74 61 74 69  aticlibs="$stati
1ce90 63 6c 69 62 73 20 24 66 69 6c 65 22 0a 09 3b 3b  clibs $file"..;;
1cea0 0a 0a 20 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23  ..      *.la)..#
1ceb0 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68   Check to see th
1cec0 61 74 20 74 68 69 73 20 72 65 61 6c 6c 79 20 69  at this really i
1ced0 73 20 61 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68  s a libtool arch
1cee0 69 76 65 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d  ive...if (${SED}
1cef0 20 2d 65 20 27 32 71 27 20 24 66 69 6c 65 20 7c   -e '2q' $file |
1cf00 20 65 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72   egrep "^# Gener
1cf10 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41  ated by .*$PACKA
1cf20 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20  GE") >/dev/null 
1cf30 32 3e 26 31 3b 20 74 68 65 6e 20 3a 0a 09 65 6c  2>&1; then :..el
1cf40 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  se..  $echo "$mo
1cf50 64 65 6e 61 6d 65 3a 20 5c 60 24 66 69 6c 65 27  dename: \`$file'
1cf60 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20   is not a valid 
1cf70 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 22  libtool archive"
1cf80 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22   1>&2..  $echo "
1cf90 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20 20 65  $help" 1>&2..  e
1cfa0 78 69 74 20 31 0a 09 66 69 0a 0a 09 6c 69 62 72  xit 1..fi...libr
1cfb0 61 72 79 5f 6e 61 6d 65 73 3d 0a 09 6f 6c 64 5f  ary_names=..old_
1cfc0 6c 69 62 72 61 72 79 3d 0a 09 72 65 6c 69 6e 6b  library=..relink
1cfd0 5f 63 6f 6d 6d 61 6e 64 3d 0a 09 23 20 49 66 20  _command=..# If 
1cfe0 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65  there is no dire
1cff0 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c  ctory component,
1d000 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09   then add one...
1d010 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a 09 2a  case $file in..*
1d020 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 66 69  /* | *\\*) . $fi
1d030 6c 65 20 3b 3b 0a 09 2a 29 20 2e 20 2e 2f 24 66  le ;;..*) . ./$f
1d040 69 6c 65 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23  ile ;;..esac...#
1d050 20 41 64 64 20 74 68 65 20 6c 69 62 64 69 72 20   Add the libdir 
1d060 74 6f 20 63 75 72 72 65 6e 74 5f 6c 69 62 64 69  to current_libdi
1d070 72 73 20 69 66 20 69 74 20 69 73 20 74 68 65 20  rs if it is the 
1d080 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0a 09 69 66  destination...if
1d090 20 74 65 73 74 20 22 58 24 64 65 73 74 64 69 72   test "X$destdir
1d0a0 22 20 3d 20 22 58 24 6c 69 62 64 69 72 22 3b 20  " = "X$libdir"; 
1d0b0 74 68 65 6e 0a 09 20 20 63 61 73 65 20 22 24 63  then..  case "$c
1d0c0 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 20 22  urrent_libdirs "
1d0d0 20 69 6e 0a 09 20 20 2a 22 20 24 6c 69 62 64 69   in..  *" $libdi
1d0e0 72 20 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 63  r "*) ;;..  *) c
1d0f0 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 3d 22  urrent_libdirs="
1d100 24 63 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73  $current_libdirs
1d110 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09 20 20   $libdir" ;;..  
1d120 65 73 61 63 0a 09 65 6c 73 65 0a 09 20 20 23 20  esac..else..  # 
1d130 4e 6f 74 65 20 74 68 65 20 6c 69 62 64 69 72 20  Note the libdir 
1d140 61 73 20 61 20 66 75 74 75 72 65 20 6c 69 62 64  as a future libd
1d150 69 72 2e 0a 09 20 20 63 61 73 65 20 22 24 66 75  ir...  case "$fu
1d160 74 75 72 65 5f 6c 69 62 64 69 72 73 20 22 20 69  ture_libdirs " i
1d170 6e 0a 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20  n..  *" $libdir 
1d180 22 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 66 75 74  "*) ;;..  *) fut
1d190 75 72 65 5f 6c 69 62 64 69 72 73 3d 22 24 66 75  ure_libdirs="$fu
1d1a0 74 75 72 65 5f 6c 69 62 64 69 72 73 20 24 6c 69  ture_libdirs $li
1d1b0 62 64 69 72 22 20 3b 3b 0a 09 20 20 65 73 61 63  bdir" ;;..  esac
1d1c0 0a 09 66 69 0a 0a 09 64 69 72 3d 60 24 65 63 68  ..fi...dir=`$ech
1d1d0 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73  o "X$file" | $Xs
1d1e0 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24  ed -e 's%/[^/]*$
1d1f0 25 25 27 60 2f 0a 09 74 65 73 74 20 22 58 24 64  %%'`/..test "X$d
1d200 69 72 22 20 3d 20 22 58 24 66 69 6c 65 2f 22 20  ir" = "X$file/" 
1d210 26 26 20 64 69 72 3d 0a 09 64 69 72 3d 22 24 64  && dir=..dir="$d
1d220 69 72 24 6f 62 6a 64 69 72 22 0a 0a 09 69 66 20  ir$objdir"...if 
1d230 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b  test -n "$relink
1d240 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 0a  _command"; then.
1d250 20 20 20 20 20 20 20 20 20 20 23 20 44 65 74 65            # Dete
1d260 72 6d 69 6e 65 20 74 68 65 20 70 72 65 66 69 78  rmine the prefix
1d270 20 74 68 65 20 75 73 65 72 20 68 61 73 20 61 70   the user has ap
1d280 70 6c 69 65 64 20 74 6f 20 6f 75 72 20 66 75 74  plied to our fut
1d290 75 72 65 20 64 69 72 2e 0a 20 20 20 20 20 20 20  ure dir..       
1d2a0 20 20 20 69 6e 73 74 5f 70 72 65 66 69 78 5f 64     inst_prefix_d
1d2b0 69 72 3d 60 24 65 63 68 6f 20 22 24 64 65 73 74  ir=`$echo "$dest
1d2c0 64 69 72 22 20 7c 20 73 65 64 20 22 73 25 24 6c  dir" | sed "s%$l
1d2d0 69 62 64 69 72 5c 24 25 25 22 60 0a 20 0a 20 20  ibdir\$%%"`. .  
1d2e0 20 20 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20          # Don't 
1d2f0 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 72 20 74  allow the user t
1d300 6f 20 70 6c 61 63 65 20 75 73 20 6f 75 74 73 69  o place us outsi
1d310 64 65 20 6f 66 20 6f 75 72 20 65 78 70 65 63 74  de of our expect
1d320 65 64 0a 20 20 20 20 20 20 20 20 20 20 23 20 6c  ed.          # l
1d330 6f 63 61 74 69 6f 6e 20 62 2f 63 20 74 68 69 73  ocation b/c this
1d340 20 70 72 65 76 65 6e 74 73 20 66 69 6e 64 69 6e   prevents findin
1d350 67 20 64 65 70 65 6e 64 65 6e 74 20 6c 69 62 72  g dependent libr
1d360 61 72 69 65 73 20 74 68 61 74 0a 20 20 20 20 20  aries that.     
1d370 20 20 20 20 20 23 20 61 72 65 20 69 6e 73 74 61       # are insta
1d380 6c 6c 65 64 20 74 6f 20 74 68 65 20 73 61 6d 65  lled to the same
1d390 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 20 20   prefix..       
1d3a0 20 20 20 69 66 20 74 65 73 74 20 22 24 69 6e 73     if test "$ins
1d3b0 74 5f 70 72 65 66 69 78 5f 64 69 72 22 20 3d 20  t_prefix_dir" = 
1d3c0 22 24 64 65 73 74 64 69 72 22 3b 20 74 68 65 6e  "$destdir"; then
1d3d0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 63  .            $ec
1d3e0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 65  ho "$modename: e
1d3f0 72 72 6f 72 3a 20 63 61 6e 6e 6f 74 20 69 6e 73  rror: cannot ins
1d400 74 61 6c 6c 20 5c 60 24 66 69 6c 65 27 20 74 6f  tall \`$file' to
1d410 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 6f 74   a directory not
1d420 20 65 6e 64 69 6e 67 20 69 6e 20 24 6c 69 62 64   ending in $libd
1d430 69 72 22 20 31 3e 26 32 0a 20 20 20 20 20 20 20  ir" 1>&2.       
1d440 20 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20       exit 1.    
1d450 20 20 20 20 20 20 66 69 0a 20 0a 20 20 20 20 20        fi. .     
1d460 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
1d470 22 24 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69  "$inst_prefix_di
1d480 72 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20  r"; then.       
1d490 20 20 20 20 20 23 20 53 74 69 63 6b 20 74 68 65       # Stick the
1d4a0 20 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72   inst_prefix_dir
1d4b0 20 64 61 74 61 20 69 6e 74 6f 20 74 68 65 20 6c   data into the l
1d4c0 69 6e 6b 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20  ink command..   
1d4d0 20 20 20 20 20 20 20 20 20 72 65 6c 69 6e 6b 5f           relink_
1d4e0 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22  command=`$echo "
1d4f0 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  $relink_command"
1d500 20 7c 20 73 65 64 20 22 73 25 40 69 6e 73 74 5f   | sed "s%@inst_
1d510 70 72 65 66 69 78 5f 64 69 72 40 25 2d 69 6e 73  prefix_dir@%-ins
1d520 74 2d 70 72 65 66 69 78 2d 64 69 72 20 24 69 6e  t-prefix-dir $in
1d530 73 74 5f 70 72 65 66 69 78 5f 64 69 72 25 22 60  st_prefix_dir%"`
1d540 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a  .          else.
1d550 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6c 69              reli
1d560 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68  nk_command=`$ech
1d570 6f 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  o "$relink_comma
1d580 6e 64 22 20 7c 20 73 65 64 20 22 73 25 40 69 6e  nd" | sed "s%@in
1d590 73 74 5f 70 72 65 66 69 78 5f 64 69 72 40 25 25  st_prefix_dir@%%
1d5a0 22 60 0a 20 20 20 20 20 20 20 20 20 20 66 69 0a  "`.          fi.
1d5b0 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
1d5c0 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 72  name: warning: r
1d5d0 65 6c 69 6e 6b 69 6e 67 20 5c 60 24 66 69 6c 65  elinking \`$file
1d5e0 27 22 20 31 3e 26 32 0a 09 20 20 24 73 68 6f 77  '" 1>&2..  $show
1d5f0 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e   "$relink_comman
1d600 64 22 0a 09 20 20 69 66 20 24 72 75 6e 20 65 76  d"..  if $run ev
1d610 61 6c 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  al "$relink_comm
1d620 61 6e 64 22 3b 20 74 68 65 6e 20 3a 0a 09 20 20  and"; then :..  
1d630 65 6c 73 65 0a 09 20 20 20 20 24 65 63 68 6f 20  else..    $echo 
1d640 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 65 72 72 6f  "$modename: erro
1d650 72 3a 20 72 65 6c 69 6e 6b 20 5c 60 24 66 69 6c  r: relink \`$fil
1d660 65 27 20 77 69 74 68 20 74 68 65 20 61 62 6f 76  e' with the abov
1d670 65 20 63 6f 6d 6d 61 6e 64 20 62 65 66 6f 72 65  e command before
1d680 20 69 6e 73 74 61 6c 6c 69 6e 67 20 69 74 22 20   installing it" 
1d690 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 31  1>&2..    exit 1
1d6a0 0a 09 20 20 66 69 0a 09 66 69 0a 0a 09 23 20 53  ..  fi..fi...# S
1d6b0 65 65 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20  ee the names of 
1d6c0 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61  the shared libra
1d6d0 72 79 2e 0a 09 73 65 74 20 64 75 6d 6d 79 20 24  ry...set dummy $
1d6e0 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 0a 09 69  library_names..i
1d6f0 66 20 74 65 73 74 20 2d 6e 20 22 24 32 22 3b 20  f test -n "$2"; 
1d700 74 68 65 6e 0a 09 20 20 72 65 61 6c 6e 61 6d 65  then..  realname
1d710 3d 22 24 32 22 0a 09 20 20 73 68 69 66 74 0a 09  ="$2"..  shift..
1d720 20 20 73 68 69 66 74 0a 0a 09 20 20 73 72 63 6e    shift...  srcn
1d730 61 6d 65 3d 22 24 72 65 61 6c 6e 61 6d 65 22 0a  ame="$realname".
1d740 09 20 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c  .  test -n "$rel
1d750 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 26 26 20  ink_command" && 
1d760 73 72 63 6e 61 6d 65 3d 22 24 72 65 61 6c 6e 61  srcname="$realna
1d770 6d 65 22 54 0a 0a 09 20 20 23 20 49 6e 73 74 61  me"T...  # Insta
1d780 6c 6c 20 74 68 65 20 73 68 61 72 65 64 20 6c 69  ll the shared li
1d790 62 72 61 72 79 20 61 6e 64 20 62 75 69 6c 64 20  brary and build 
1d7a0 74 68 65 20 73 79 6d 6c 69 6e 6b 73 2e 0a 09 20  the symlinks... 
1d7b0 20 24 73 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c   $show "$install
1d7c0 5f 70 72 6f 67 20 24 64 69 72 2f 24 73 72 63 6e  _prog $dir/$srcn
1d7d0 61 6d 65 20 24 64 65 73 74 64 69 72 2f 24 72 65  ame $destdir/$re
1d7e0 61 6c 6e 61 6d 65 22 0a 09 20 20 24 72 75 6e 20  alname"..  $run 
1d7f0 65 76 61 6c 20 22 24 69 6e 73 74 61 6c 6c 5f 70  eval "$install_p
1d800 72 6f 67 20 24 64 69 72 2f 24 73 72 63 6e 61 6d  rog $dir/$srcnam
1d810 65 20 24 64 65 73 74 64 69 72 2f 24 72 65 61 6c  e $destdir/$real
1d820 6e 61 6d 65 22 20 7c 7c 20 65 78 69 74 20 24 3f  name" || exit $?
1d830 0a 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22  ..  if test -n "
1d840 24 73 74 72 69 70 6d 65 22 20 26 26 20 74 65 73  $stripme" && tes
1d850 74 20 2d 6e 20 22 24 73 74 72 69 70 6c 69 62 22  t -n "$striplib"
1d860 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68 6f  ; then..    $sho
1d870 77 20 22 24 73 74 72 69 70 6c 69 62 20 24 64 65  w "$striplib $de
1d880 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22  stdir/$realname"
1d890 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20  ..    $run eval 
1d8a0 22 24 73 74 72 69 70 6c 69 62 20 24 64 65 73 74  "$striplib $dest
1d8b0 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22 20 7c  dir/$realname" |
1d8c0 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 66 69 0a  | exit $?..  fi.
1d8d0 0a 09 20 20 69 66 20 74 65 73 74 20 24 23 20 2d  ..  if test $# -
1d8e0 67 74 20 30 3b 20 74 68 65 6e 0a 09 20 20 20 20  gt 0; then..    
1d8f0 23 20 44 65 6c 65 74 65 20 74 68 65 20 6f 6c 64  # Delete the old
1d900 20 73 79 6d 6c 69 6e 6b 73 2c 20 61 6e 64 20 63   symlinks, and c
1d910 72 65 61 74 65 20 6e 65 77 20 6f 6e 65 73 2e 0a  reate new ones..
1d920 09 20 20 20 20 66 6f 72 20 6c 69 6e 6b 6e 61 6d  .    for linknam
1d930 65 0a 09 20 20 20 20 64 6f 0a 09 20 20 20 20 20  e..    do..     
1d940 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6e   if test "$linkn
1d950 61 6d 65 22 20 21 3d 20 22 24 72 65 61 6c 6e 61  ame" != "$realna
1d960 6d 65 22 3b 20 74 68 65 6e 0a 09 09 24 73 68 6f  me"; then...$sho
1d970 77 20 22 28 63 64 20 24 64 65 73 74 64 69 72 20  w "(cd $destdir 
1d980 26 26 20 24 72 6d 20 24 6c 69 6e 6b 6e 61 6d 65  && $rm $linkname
1d990 20 26 26 20 24 4c 4e 5f 53 20 24 72 65 61 6c 6e   && $LN_S $realn
1d9a0 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 29 22 0a  ame $linkname)".
1d9b0 09 09 24 72 75 6e 20 65 76 61 6c 20 22 28 63 64  ..$run eval "(cd
1d9c0 20 24 64 65 73 74 64 69 72 20 26 26 20 24 72 6d   $destdir && $rm
1d9d0 20 24 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c   $linkname && $L
1d9e0 4e 5f 53 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c  N_S $realname $l
1d9f0 69 6e 6b 6e 61 6d 65 29 22 0a 09 20 20 20 20 20  inkname)"..     
1da00 20 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20   fi..    done.. 
1da10 20 66 69 0a 0a 09 20 20 23 20 44 6f 20 65 61 63   fi...  # Do eac
1da20 68 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65  h command in the
1da30 20 70 6f 73 74 69 6e 73 74 61 6c 6c 20 63 6f 6d   postinstall com
1da40 6d 61 6e 64 73 2e 0a 09 20 20 6c 69 62 3d 22 24  mands...  lib="$
1da50 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d  destdir/$realnam
1da60 65 22 0a 09 20 20 65 76 61 6c 20 63 6d 64 73 3d  e"..  eval cmds=
1da70 5c 22 24 70 6f 73 74 69 6e 73 74 61 6c 6c 5f 63  \"$postinstall_c
1da80 6d 64 73 5c 22 0a 09 20 20 73 61 76 65 5f 69 66  mds\"..  save_if
1da90 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e  s="$IFS"; IFS='~
1daa0 27 0a 09 20 20 66 6f 72 20 63 6d 64 20 69 6e 20  '..  for cmd in 
1dab0 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 20 20 49  $cmds; do..    I
1dac0 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09  FS="$save_ifs"..
1dad0 20 20 20 20 24 73 68 6f 77 20 22 24 63 6d 64 22      $show "$cmd"
1dae0 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20  ..    $run eval 
1daf0 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20 24  "$cmd" || exit $
1db00 3f 0a 09 20 20 64 6f 6e 65 0a 09 20 20 49 46 53  ?..  done..  IFS
1db10 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 66 69  ="$save_ifs"..fi
1db20 0a 0a 09 23 20 49 6e 73 74 61 6c 6c 20 74 68 65  ...# Install the
1db30 20 70 73 65 75 64 6f 2d 6c 69 62 72 61 72 79 20   pseudo-library 
1db40 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  for information 
1db50 70 75 72 70 6f 73 65 73 2e 0a 09 6e 61 6d 65 3d  purposes...name=
1db60 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20  `$echo "X$file" 
1db70 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
1db80 2a 2f 25 25 27 60 0a 09 69 6e 73 74 6e 61 6d 65  */%%'`..instname
1db90 3d 22 24 64 69 72 2f 24 6e 61 6d 65 22 69 0a 09  ="$dir/$name"i..
1dba0 24 73 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f  $show "$install_
1dbb0 70 72 6f 67 20 24 69 6e 73 74 6e 61 6d 65 20 24  prog $instname $
1dbc0 64 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 0a 09  destdir/$name"..
1dbd0 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73 74  $run eval "$inst
1dbe0 61 6c 6c 5f 70 72 6f 67 20 24 69 6e 73 74 6e 61  all_prog $instna
1dbf0 6d 65 20 24 64 65 73 74 64 69 72 2f 24 6e 61 6d  me $destdir/$nam
1dc00 65 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09  e" || exit $?...
1dc10 23 20 4d 61 79 62 65 20 69 6e 73 74 61 6c 6c 20  # Maybe install 
1dc20 74 68 65 20 73 74 61 74 69 63 20 6c 69 62 72 61  the static libra
1dc30 72 79 2c 20 74 6f 6f 2e 0a 09 74 65 73 74 20 2d  ry, too...test -
1dc40 6e 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22  n "$old_library"
1dc50 20 26 26 20 73 74 61 74 69 63 6c 69 62 73 3d 22   && staticlibs="
1dc60 24 73 74 61 74 69 63 6c 69 62 73 20 24 64 69 72  $staticlibs $dir
1dc70 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09  /$old_library"..
1dc80 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a  ;;..      *.lo).
1dc90 09 23 20 49 6e 73 74 61 6c 6c 20 28 69 2e 65 2e  .# Install (i.e.
1dca0 20 63 6f 70 79 29 20 61 20 6c 69 62 74 6f 6f 6c   copy) a libtool
1dcb0 20 6f 62 6a 65 63 74 2e 0a 0a 09 23 20 46 69 67   object....# Fig
1dcc0 75 72 65 20 6f 75 74 20 64 65 73 74 69 6e 61 74  ure out destinat
1dcd0 69 6f 6e 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69  ion file name, i
1dce0 66 20 69 74 20 77 61 73 6e 27 74 20 61 6c 72 65  f it wasn't alre
1dcf0 61 64 79 20 73 70 65 63 69 66 69 65 64 2e 0a 09  ady specified...
1dd00 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65 73  if test -n "$des
1dd10 74 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20  tname"; then..  
1dd20 64 65 73 74 66 69 6c 65 3d 22 24 64 65 73 74 64  destfile="$destd
1dd30 69 72 2f 24 64 65 73 74 6e 61 6d 65 22 0a 09 65  ir/$destname"..e
1dd40 6c 73 65 0a 09 20 20 64 65 73 74 66 69 6c 65 3d  lse..  destfile=
1dd50 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20  `$echo "X$file" 
1dd60 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
1dd70 2a 2f 25 25 27 60 0a 09 20 20 64 65 73 74 66 69  */%%'`..  destfi
1dd80 6c 65 3d 22 24 64 65 73 74 64 69 72 2f 24 64 65  le="$destdir/$de
1dd90 73 74 66 69 6c 65 22 0a 09 66 69 0a 0a 09 23 20  stfile"..fi...# 
1dda0 44 65 64 75 63 65 20 74 68 65 20 6e 61 6d 65 20  Deduce the name 
1ddb0 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69  of the destinati
1ddc0 6f 6e 20 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a  on old-style obj
1ddd0 65 63 74 20 66 69 6c 65 2e 0a 09 63 61 73 65 20  ect file...case 
1dde0 24 64 65 73 74 66 69 6c 65 20 69 6e 0a 09 2a 2e  $destfile in..*.
1ddf0 6c 6f 29 0a 09 20 20 73 74 61 74 69 63 64 65 73  lo)..  staticdes
1de00 74 3d 60 24 65 63 68 6f 20 22 58 24 64 65 73 74  t=`$echo "X$dest
1de10 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65  file" | $Xsed -e
1de20 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20 3b 3b 0a   "$lo2o"`..  ;;.
1de30 09 2a 2e 24 6f 62 6a 65 78 74 29 0a 09 20 20 73  .*.$objext)..  s
1de40 74 61 74 69 63 64 65 73 74 3d 22 24 64 65 73 74  taticdest="$dest
1de50 66 69 6c 65 22 0a 09 20 20 64 65 73 74 66 69 6c  file"..  destfil
1de60 65 3d 0a 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20  e=..  ;;..*)..  
1de70 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1de80 3a 20 63 61 6e 6e 6f 74 20 63 6f 70 79 20 61 20  : cannot copy a 
1de90 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 74  libtool object t
1dea0 6f 20 5c 60 24 64 65 73 74 66 69 6c 65 27 22 20  o \`$destfile'" 
1deb0 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24  1>&2..  $echo "$
1dec0 68 65 6c 70 22 20 31 3e 26 32 0a 09 20 20 65 78  help" 1>&2..  ex
1ded0 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63  it 1..  ;;..esac
1dee0 0a 0a 09 23 20 49 6e 73 74 61 6c 6c 20 74 68 65  ...# Install the
1def0 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20   libtool object 
1df00 69 66 20 72 65 71 75 65 73 74 65 64 2e 0a 09 69  if requested...i
1df10 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65 73 74  f test -n "$dest
1df20 66 69 6c 65 22 3b 20 74 68 65 6e 0a 09 20 20 24  file"; then..  $
1df30 73 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70  show "$install_p
1df40 72 6f 67 20 24 66 69 6c 65 20 24 64 65 73 74 66  rog $file $destf
1df50 69 6c 65 22 0a 09 20 20 24 72 75 6e 20 65 76 61  ile"..  $run eva
1df60 6c 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  l "$install_prog
1df70 20 24 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65   $file $destfile
1df80 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 66 69  " || exit $?..fi
1df90 0a 0a 09 23 20 49 6e 73 74 61 6c 6c 20 74 68 65  ...# Install the
1dfa0 20 6f 6c 64 20 6f 62 6a 65 63 74 20 69 66 20 65   old object if e
1dfb0 6e 61 62 6c 65 64 2e 0a 09 69 66 20 74 65 73 74  nabled...if test
1dfc0 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62   "$build_old_lib
1dfd0 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  s" = yes; then..
1dfe0 20 20 23 20 44 65 64 75 63 65 20 74 68 65 20 6e    # Deduce the n
1dff0 61 6d 65 20 6f 66 20 74 68 65 20 6f 6c 64 2d 73  ame of the old-s
1e000 74 79 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c 65  tyle object file
1e010 2e 0a 09 20 20 73 74 61 74 69 63 6f 62 6a 3d 60  ...  staticobj=`
1e020 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c  $echo "X$file" |
1e030 20 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f   $Xsed -e "$lo2o
1e040 22 60 0a 0a 09 20 20 24 73 68 6f 77 20 22 24 69  "`...  $show "$i
1e050 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 73 74 61  nstall_prog $sta
1e060 74 69 63 6f 62 6a 20 24 73 74 61 74 69 63 64 65  ticobj $staticde
1e070 73 74 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c  st"..  $run eval
1e080 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20   "$install_prog 
1e090 5c 24 73 74 61 74 69 63 6f 62 6a 20 5c 24 73 74  \$staticobj \$st
1e0a0 61 74 69 63 64 65 73 74 22 20 7c 7c 20 65 78 69  aticdest" || exi
1e0b0 74 20 24 3f 0a 09 66 69 0a 09 65 78 69 74 20 30  t $?..fi..exit 0
1e0c0 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 29 0a 09  ..;;..      *)..
1e0d0 23 20 46 69 67 75 72 65 20 6f 75 74 20 64 65 73  # Figure out des
1e0e0 74 69 6e 61 74 69 6f 6e 20 66 69 6c 65 20 6e 61  tination file na
1e0f0 6d 65 2c 20 69 66 20 69 74 20 77 61 73 6e 27 74  me, if it wasn't
1e100 20 61 6c 72 65 61 64 79 20 73 70 65 63 69 66 69   already specifi
1e110 65 64 2e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  ed...if test -n 
1e120 22 24 64 65 73 74 6e 61 6d 65 22 3b 20 74 68 65  "$destname"; the
1e130 6e 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 22 24  n..  destfile="$
1e140 64 65 73 74 64 69 72 2f 24 64 65 73 74 6e 61 6d  destdir/$destnam
1e150 65 22 0a 09 65 6c 73 65 0a 09 20 20 64 65 73 74  e"..else..  dest
1e160 66 69 6c 65 3d 60 24 65 63 68 6f 20 22 58 24 66  file=`$echo "X$f
1e170 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20  ile" | $Xsed -e 
1e180 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 64  's%^.*/%%'`..  d
1e190 65 73 74 66 69 6c 65 3d 22 24 64 65 73 74 64 69  estfile="$destdi
1e1a0 72 2f 24 64 65 73 74 66 69 6c 65 22 0a 09 66 69  r/$destfile"..fi
1e1b0 0a 0a 09 23 20 44 6f 20 61 20 74 65 73 74 20 74  ...# Do a test t
1e1c0 6f 20 73 65 65 20 69 66 20 74 68 69 73 20 69 73  o see if this is
1e1d0 20 72 65 61 6c 6c 79 20 61 20 6c 69 62 74 6f 6f   really a libtoo
1e1e0 6c 20 70 72 6f 67 72 61 6d 2e 0a 09 63 61 73 65  l program...case
1e1f0 20 24 68 6f 73 74 20 69 6e 0a 09 2a 63 79 67 77   $host in..*cygw
1e200 69 6e 2a 7c 2a 6d 69 6e 67 77 2a 29 0a 09 20 20  in*|*mingw*)..  
1e210 20 20 77 72 61 70 70 65 72 3d 60 65 63 68 6f 20    wrapper=`echo 
1e220 24 66 69 6c 65 20 7c 20 24 7b 53 45 44 7d 20 2d  $file | ${SED} -
1e230 65 20 27 73 2c 2e 65 78 65 24 2c 2c 27 60 0a 09  e 's,.exe$,,'`..
1e240 20 20 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 20 20      ;;..*)..    
1e250 77 72 61 70 70 65 72 3d 24 66 69 6c 65 0a 09 20  wrapper=$file.. 
1e260 20 20 20 3b 3b 0a 09 65 73 61 63 0a 09 69 66 20     ;;..esac..if 
1e270 28 24 7b 53 45 44 7d 20 2d 65 20 27 34 71 27 20  (${SED} -e '4q' 
1e280 24 77 72 61 70 70 65 72 20 7c 20 65 67 72 65 70  $wrapper | egrep
1e290 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62   "^# Generated b
1e2a0 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 3e 2f  y .*$PACKAGE")>/
1e2b0 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74  dev/null 2>&1; t
1e2c0 68 65 6e 0a 09 20 20 6e 6f 74 69 6e 73 74 5f 64  hen..  notinst_d
1e2d0 65 70 6c 69 62 73 3d 0a 09 20 20 72 65 6c 69 6e  eplibs=..  relin
1e2e0 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a 0a 09 20 20 23  k_command=...  #
1e2f0 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20   If there is no 
1e300 64 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e  directory compon
1e310 65 6e 74 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e  ent, then add on
1e320 65 2e 0a 09 20 20 63 61 73 65 20 24 66 69 6c 65  e...  case $file
1e330 20 69 6e 0a 09 20 20 2a 2f 2a 20 7c 20 2a 5c 5c   in..  */* | *\\
1e340 2a 29 20 2e 20 24 77 72 61 70 70 65 72 20 3b 3b  *) . $wrapper ;;
1e350 0a 09 20 20 2a 29 20 2e 20 2e 2f 24 77 72 61 70  ..  *) . ./$wrap
1e360 70 65 72 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a  per ;;..  esac..
1e370 09 20 20 23 20 43 68 65 63 6b 20 74 68 65 20 76  .  # Check the v
1e380 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 73 68  ariables that sh
1e390 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 73  ould have been s
1e3a0 65 74 2e 0a 09 20 20 69 66 20 74 65 73 74 20 2d  et...  if test -
1e3b0 7a 20 22 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c  z "$notinst_depl
1e3c0 69 62 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ibs"; then..    
1e3d0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1e3e0 3a 20 69 6e 76 61 6c 69 64 20 6c 69 62 74 6f 6f  : invalid libtoo
1e3f0 6c 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74  l wrapper script
1e400 20 5c 60 24 77 72 61 70 70 65 72 27 22 20 31 3e   \`$wrapper'" 1>
1e410 26 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09  &2..    exit 1..
1e420 20 20 66 69 0a 0a 09 20 20 66 69 6e 61 6c 69 7a    fi...  finaliz
1e430 65 3d 79 65 73 0a 09 20 20 66 6f 72 20 6c 69 62  e=yes..  for lib
1e440 20 69 6e 20 24 6e 6f 74 69 6e 73 74 5f 64 65 70   in $notinst_dep
1e450 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 23 20  libs; do..    # 
1e460 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61  Check to see tha
1e470 74 20 65 61 63 68 20 6c 69 62 72 61 72 79 20 69  t each library i
1e480 73 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 09 20 20  s installed...  
1e490 20 20 6c 69 62 64 69 72 3d 0a 09 20 20 20 20 69    libdir=..    i
1e4a0 66 20 74 65 73 74 20 2d 66 20 22 24 6c 69 62 22  f test -f "$lib"
1e4b0 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20  ; then..      # 
1e4c0 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64  If there is no d
1e4d0 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65  irectory compone
1e4e0 6e 74 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65  nt, then add one
1e4f0 2e 0a 09 20 20 20 20 20 20 63 61 73 65 20 24 6c  ...      case $l
1e500 69 62 20 69 6e 0a 09 20 20 20 20 20 20 2a 2f 2a  ib in..      */*
1e510 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62 20   | *\\*) . $lib 
1e520 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 2e 20 2e  ;;..      *) . .
1e530 2f 24 6c 69 62 20 3b 3b 0a 09 20 20 20 20 20 20  /$lib ;;..      
1e540 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20  esac..    fi..  
1e550 20 20 6c 69 62 66 69 6c 65 3d 22 24 6c 69 62 64    libfile="$libd
1e560 69 72 2f 22 60 24 65 63 68 6f 20 22 58 24 6c 69  ir/"`$echo "X$li
1e570 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  b" | $Xsed -e 's
1e580 25 5e 2e 2a 2f 25 25 67 27 60 20 23 23 23 20 74  %^.*/%%g'` ### t
1e590 65 73 74 73 75 69 74 65 3a 20 73 6b 69 70 20 6e  estsuite: skip n
1e5a0 65 73 74 65 64 20 71 75 6f 74 69 6e 67 20 74 65  ested quoting te
1e5b0 73 74 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  st..    if test 
1e5c0 2d 6e 20 22 24 6c 69 62 64 69 72 22 20 26 26 20  -n "$libdir" && 
1e5d0 74 65 73 74 20 21 20 2d 66 20 22 24 6c 69 62 66  test ! -f "$libf
1e5e0 69 6c 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ile"; then..    
1e5f0 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
1e600 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24  me: warning: \`$
1e610 6c 69 62 27 20 68 61 73 20 6e 6f 74 20 62 65 65  lib' has not bee
1e620 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 5c  n installed in \
1e630 60 24 6c 69 62 64 69 72 27 22 20 31 3e 26 32 0a  `$libdir'" 1>&2.
1e640 09 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 3d  .      finalize=
1e650 6e 6f 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f  no..    fi..  do
1e660 6e 65 0a 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f  ne...  relink_co
1e670 6d 6d 61 6e 64 3d 0a 09 20 20 23 20 49 66 20 74  mmand=..  # If t
1e680 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65 63  here is no direc
1e690 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20  tory component, 
1e6a0 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 20  then add one... 
1e6b0 20 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a 09   case $file in..
1e6c0 20 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20    */* | *\\*) . 
1e6d0 24 77 72 61 70 70 65 72 20 3b 3b 0a 09 20 20 2a  $wrapper ;;..  *
1e6e0 29 20 2e 20 2e 2f 24 77 72 61 70 70 65 72 20 3b  ) . ./$wrapper ;
1e6f0 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20 20 6f 75  ;..  esac...  ou
1e700 74 70 75 74 6e 61 6d 65 3d 0a 09 20 20 69 66 20  tputname=..  if 
1e710 74 65 73 74 20 22 24 66 61 73 74 5f 69 6e 73 74  test "$fast_inst
1e720 61 6c 6c 22 20 3d 20 6e 6f 20 26 26 20 74 65 73  all" = no && tes
1e730 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b 5f 63 6f  t -n "$relink_co
1e740 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 0a 09 20 20  mmand"; then..  
1e750 20 20 69 66 20 74 65 73 74 20 22 24 66 69 6e 61    if test "$fina
1e760 6c 69 7a 65 22 20 3d 20 79 65 73 20 26 26 20 74  lize" = yes && t
1e770 65 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b 20 74  est -z "$run"; t
1e780 68 65 6e 0a 09 20 20 20 20 20 20 74 6d 70 64 69  hen..      tmpdi
1e790 72 3d 22 2f 74 6d 70 22 0a 09 20 20 20 20 20 20  r="/tmp"..      
1e7a0 74 65 73 74 20 2d 6e 20 22 24 54 4d 50 44 49 52  test -n "$TMPDIR
1e7b0 22 20 26 26 20 74 6d 70 64 69 72 3d 22 24 54 4d  " && tmpdir="$TM
1e7c0 50 44 49 52 22 0a 09 20 20 20 20 20 20 74 6d 70  PDIR"..      tmp
1e7d0 64 69 72 3d 22 24 74 6d 70 64 69 72 2f 6c 69 62  dir="$tmpdir/lib
1e7e0 74 6f 6f 6c 2d 24 24 22 0a 09 20 20 20 20 20 20  tool-$$"..      
1e7f0 69 66 20 24 6d 6b 64 69 72 20 2d 70 20 22 24 74  if $mkdir -p "$t
1e800 6d 70 64 69 72 22 20 26 26 20 63 68 6d 6f 64 20  mpdir" && chmod 
1e810 37 30 30 20 22 24 74 6d 70 64 69 72 22 3b 20 74  700 "$tmpdir"; t
1e820 68 65 6e 20 3a 0a 09 20 20 20 20 20 20 65 6c 73  hen :..      els
1e830 65 0a 09 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  e...$echo "$mode
1e840 6e 61 6d 65 3a 20 65 72 72 6f 72 3a 20 63 61 6e  name: error: can
1e850 6e 6f 74 20 63 72 65 61 74 65 20 74 65 6d 70 6f  not create tempo
1e860 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 5c  rary directory \
1e870 60 24 74 6d 70 64 69 72 27 22 20 31 3e 26 32 0a  `$tmpdir'" 1>&2.
1e880 09 09 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20  ..continue..    
1e890 20 20 66 69 0a 09 20 20 20 20 20 20 66 69 6c 65    fi..      file
1e8a0 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22  =`$echo "X$file"
1e8b0 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
1e8c0 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20 20 20 6f  .*/%%'`..      o
1e8d0 75 74 70 75 74 6e 61 6d 65 3d 22 24 74 6d 70 64  utputname="$tmpd
1e8e0 69 72 2f 24 66 69 6c 65 22 0a 09 20 20 20 20 20  ir/$file"..     
1e8f0 20 23 20 52 65 70 6c 61 63 65 20 74 68 65 20 6f   # Replace the o
1e900 75 74 70 75 74 20 66 69 6c 65 20 73 70 65 63 69  utput file speci
1e910 66 69 63 61 74 69 6f 6e 2e 0a 09 20 20 20 20 20  fication...     
1e920 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d   relink_command=
1e930 60 24 65 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b  `$echo "X$relink
1e940 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65  _command" | $Xse
1e950 64 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54 40  d -e 's%@OUTPUT@
1e960 25 27 22 24 6f 75 74 70 75 74 6e 61 6d 65 22 27  %'"$outputname"'
1e970 25 67 27 60 0a 0a 09 20 20 20 20 20 20 24 73 68  %g'`...      $sh
1e980 6f 77 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  ow "$relink_comm
1e990 61 6e 64 22 0a 09 20 20 20 20 20 20 69 66 20 24  and"..      if $
1e9a0 72 75 6e 20 65 76 61 6c 20 22 24 72 65 6c 69 6e  run eval "$relin
1e9b0 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e  k_command"; then
1e9c0 20 3a 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09   :..      else..
1e9d0 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
1e9e0 65 3a 20 65 72 72 6f 72 3a 20 72 65 6c 69 6e 6b  e: error: relink
1e9f0 20 5c 60 24 66 69 6c 65 27 20 77 69 74 68 20 74   \`$file' with t
1ea00 68 65 20 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64  he above command
1ea10 20 62 65 66 6f 72 65 20 69 6e 73 74 61 6c 6c 69   before installi
1ea20 6e 67 20 69 74 22 20 31 3e 26 32 0a 09 09 24 7b  ng it" 1>&2...${
1ea30 72 6d 7d 72 20 22 24 74 6d 70 64 69 72 22 0a 09  rm}r "$tmpdir"..
1ea40 09 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 20  .continue..     
1ea50 20 66 69 0a 09 20 20 20 20 20 20 66 69 6c 65 3d   fi..      file=
1ea60 22 24 6f 75 74 70 75 74 6e 61 6d 65 22 0a 09 20  "$outputname".. 
1ea70 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24     else..      $
1ea80 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
1ea90 20 77 61 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74   warning: cannot
1eaa0 20 72 65 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27   relink \`$file'
1eab0 22 20 31 3e 26 32 0a 09 20 20 20 20 66 69 0a 09  " 1>&2..    fi..
1eac0 20 20 65 6c 73 65 0a 09 20 20 20 20 23 20 49 6e    else..    # In
1ead0 73 74 61 6c 6c 20 74 68 65 20 62 69 6e 61 72 79  stall the binary
1eae0 20 74 68 61 74 20 77 65 20 63 6f 6d 70 69 6c 65   that we compile
1eaf0 64 20 65 61 72 6c 69 65 72 2e 0a 09 20 20 20 20  d earlier...    
1eb00 66 69 6c 65 3d 60 24 65 63 68 6f 20 22 58 24 66  file=`$echo "X$f
1eb10 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20  ile" | $Xsed -e 
1eb20 22 73 25 5c 28 5b 5e 2f 5d 2a 5c 29 24 25 24 6f  "s%\([^/]*\)$%$o
1eb30 62 6a 64 69 72 2f 5c 31 25 22 60 0a 09 20 20 66  bjdir/\1%"`..  f
1eb40 69 0a 09 66 69 0a 0a 09 23 20 72 65 6d 6f 76 65  i..fi...# remove
1eb50 20 2e 65 78 65 20 73 69 6e 63 65 20 63 79 67 77   .exe since cygw
1eb60 69 6e 20 2f 75 73 72 2f 62 69 6e 2f 69 6e 73 74  in /usr/bin/inst
1eb70 61 6c 6c 20 77 69 6c 6c 20 61 70 70 65 6e 64 20  all will append 
1eb80 61 6e 6f 74 68 65 72 0a 09 23 20 6f 6e 65 20 61  another..# one a
1eb90 6e 79 77 61 79 73 0a 09 63 61 73 65 20 24 69 6e  nyways..case $in
1eba0 73 74 61 6c 6c 5f 70 72 6f 67 2c 24 68 6f 73 74  stall_prog,$host
1ebb0 20 69 6e 0a 09 2f 75 73 72 2f 62 69 6e 2f 69 6e   in../usr/bin/in
1ebc0 73 74 61 6c 6c 2a 2c 2a 63 79 67 77 69 6e 2a 29  stall*,*cygwin*)
1ebd0 0a 09 20 20 63 61 73 65 20 24 66 69 6c 65 3a 24  ..  case $file:$
1ebe0 64 65 73 74 66 69 6c 65 20 69 6e 0a 09 20 20 2a  destfile in..  *
1ebf0 2e 65 78 65 3a 2a 2e 65 78 65 29 0a 09 20 20 20  .exe:*.exe)..   
1ec00 20 23 20 74 68 69 73 20 69 73 20 6f 6b 0a 09 20   # this is ok.. 
1ec10 20 20 20 3b 3b 0a 09 20 20 2a 2e 65 78 65 3a 2a     ;;..  *.exe:*
1ec20 29 0a 09 20 20 20 20 64 65 73 74 66 69 6c 65 3d  )..    destfile=
1ec30 24 64 65 73 74 66 69 6c 65 2e 65 78 65 0a 09 20  $destfile.exe.. 
1ec40 20 20 20 3b 3b 0a 09 20 20 2a 3a 2a 2e 65 78 65     ;;..  *:*.exe
1ec50 29 0a 09 20 20 20 20 64 65 73 74 66 69 6c 65 3d  )..    destfile=
1ec60 60 65 63 68 6f 20 24 64 65 73 74 66 69 6c 65 20  `echo $destfile 
1ec70 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e  | ${SED} -e 's,.
1ec80 65 78 65 24 2c 2c 27 60 0a 09 20 20 20 20 3b 3b  exe$,,'`..    ;;
1ec90 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09  ..  esac..  ;;..
1eca0 65 73 61 63 0a 09 24 73 68 6f 77 20 22 24 69 6e  esac..$show "$in
1ecb0 73 74 61 6c 6c 5f 70 72 6f 67 24 73 74 72 69 70  stall_prog$strip
1ecc0 6d 65 20 24 66 69 6c 65 20 24 64 65 73 74 66 69  me $file $destfi
1ecd0 6c 65 22 0a 09 24 72 75 6e 20 65 76 61 6c 20 22  le"..$run eval "
1ece0 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 5c 24 73  $install_prog\$s
1ecf0 74 72 69 70 6d 65 20 5c 24 66 69 6c 65 20 5c 24  tripme \$file \$
1ed00 64 65 73 74 66 69 6c 65 22 20 7c 7c 20 65 78 69  destfile" || exi
1ed10 74 20 24 3f 0a 09 74 65 73 74 20 2d 6e 20 22 24  t $?..test -n "$
1ed20 6f 75 74 70 75 74 6e 61 6d 65 22 20 26 26 20 24  outputname" && $
1ed30 7b 72 6d 7d 72 20 22 24 74 6d 70 64 69 72 22 0a  {rm}r "$tmpdir".
1ed40 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20  .;;.      esac. 
1ed50 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 66 6f 72     done..    for
1ed60 20 66 69 6c 65 20 69 6e 20 24 73 74 61 74 69 63   file in $static
1ed70 6c 69 62 73 3b 20 64 6f 0a 20 20 20 20 20 20 6e  libs; do.      n
1ed80 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69  ame=`$echo "X$fi
1ed90 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  le" | $Xsed -e '
1eda0 73 25 5e 2e 2a 2f 25 25 27 60 0a 0a 20 20 20 20  s%^.*/%%'`..    
1edb0 20 20 23 20 53 65 74 20 75 70 20 74 68 65 20 72    # Set up the r
1edc0 61 6e 6c 69 62 20 70 61 72 61 6d 65 74 65 72 73  anlib parameters
1edd0 2e 0a 20 20 20 20 20 20 6f 6c 64 6c 69 62 3d 22  ..      oldlib="
1ede0 24 64 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 0a  $destdir/$name".
1edf0 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 69  .      $show "$i
1ee00 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 66 69 6c  nstall_prog $fil
1ee10 65 20 24 6f 6c 64 6c 69 62 22 0a 20 20 20 20 20  e $oldlib".     
1ee20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73   $run eval "$ins
1ee30 74 61 6c 6c 5f 70 72 6f 67 20 5c 24 66 69 6c 65  tall_prog \$file
1ee40 20 5c 24 6f 6c 64 6c 69 62 22 20 7c 7c 20 65 78   \$oldlib" || ex
1ee50 69 74 20 24 3f 0a 0a 20 20 20 20 20 20 69 66 20  it $?..      if 
1ee60 74 65 73 74 20 2d 6e 20 22 24 73 74 72 69 70 6d  test -n "$stripm
1ee70 65 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24  e" && test -n "$
1ee80 73 74 72 69 70 6c 69 62 22 3b 20 74 68 65 6e 0a  striplib"; then.
1ee90 09 24 73 68 6f 77 20 22 24 6f 6c 64 5f 73 74 72  .$show "$old_str
1eea0 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62 22 0a 09  iplib $oldlib"..
1eeb0 24 72 75 6e 20 65 76 61 6c 20 22 24 6f 6c 64 5f  $run eval "$old_
1eec0 73 74 72 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62  striplib $oldlib
1eed0 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20  " || exit $?.   
1eee0 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 44     fi..      # D
1eef0 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69  o each command i
1ef00 6e 20 74 68 65 20 70 6f 73 74 69 6e 73 74 61 6c  n the postinstal
1ef10 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20  l commands..    
1ef20 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 24 6f    eval cmds=\"$o
1ef30 6c 64 5f 70 6f 73 74 69 6e 73 74 61 6c 6c 5f 63  ld_postinstall_c
1ef40 6d 64 73 5c 22 0a 20 20 20 20 20 20 73 61 76 65  mds\".      save
1ef50 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53  _ifs="$IFS"; IFS
1ef60 3d 27 7e 27 0a 20 20 20 20 20 20 66 6f 72 20 63  ='~'.      for c
1ef70 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a  md in $cmds; do.
1ef80 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22  .IFS="$save_ifs"
1ef90 0a 09 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09  ..$show "$cmd"..
1efa0 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22  $run eval "$cmd"
1efb0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20   || exit $?.    
1efc0 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 49 46 53    done.      IFS
1efd0 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 20 20 20  ="$save_ifs".   
1efe0 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66 20 74 65   done..    if te
1eff0 73 74 20 2d 6e 20 22 24 66 75 74 75 72 65 5f 6c  st -n "$future_l
1f000 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 20 20  ibdirs"; then.  
1f010 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
1f020 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 72  name: warning: r
1f030 65 6d 65 6d 62 65 72 20 74 6f 20 72 75 6e 20 5c  emember to run \
1f040 60 24 70 72 6f 67 6e 61 6d 65 20 2d 2d 66 69 6e  `$progname --fin
1f050 69 73 68 24 66 75 74 75 72 65 5f 6c 69 62 64 69  ish$future_libdi
1f060 72 73 27 22 20 31 3e 26 32 0a 20 20 20 20 66 69  rs'" 1>&2.    fi
1f070 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
1f080 20 22 24 63 75 72 72 65 6e 74 5f 6c 69 62 64 69   "$current_libdi
1f090 72 73 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  rs"; then.      
1f0a0 23 20 4d 61 79 62 65 20 6a 75 73 74 20 64 6f 20  # Maybe just do 
1f0b0 61 20 64 72 79 20 72 75 6e 2e 0a 20 20 20 20 20  a dry run..     
1f0c0 20 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 22 20   test -n "$run" 
1f0d0 26 26 20 63 75 72 72 65 6e 74 5f 6c 69 62 64 69  && current_libdi
1f0e0 72 73 3d 22 20 2d 6e 24 63 75 72 72 65 6e 74 5f  rs=" -n$current_
1f0f0 6c 69 62 64 69 72 73 22 0a 20 20 20 20 20 20 65  libdirs".      e
1f100 78 65 63 5f 63 6d 64 3d 27 24 53 48 45 4c 4c 20  xec_cmd='$SHELL 
1f110 24 30 20 2d 2d 66 69 6e 69 73 68 24 63 75 72 72  $0 --finish$curr
1f120 65 6e 74 5f 6c 69 62 64 69 72 73 27 0a 20 20 20  ent_libdirs'.   
1f130 20 65 6c 73 65 0a 20 20 20 20 20 20 65 78 69 74   else.      exit
1f140 20 30 0a 20 20 20 20 66 69 0a 20 20 20 20 3b 3b   0.    fi.    ;;
1f150 0a 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20 66 69  ..  # libtool fi
1f160 6e 69 73 68 20 6d 6f 64 65 0a 20 20 66 69 6e 69  nish mode.  fini
1f170 73 68 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65  sh).    modename
1f180 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 66 69 6e  ="$modename: fin
1f190 69 73 68 22 0a 20 20 20 20 6c 69 62 64 69 72 73  ish".    libdirs
1f1a0 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 61  ="$nonopt".    a
1f1b0 64 6d 69 6e 63 6d 64 73 3d 0a 0a 20 20 20 20 69  dmincmds=..    i
1f1c0 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69 6e 69  f test -n "$fini
1f1d0 73 68 5f 63 6d 64 73 24 66 69 6e 69 73 68 5f 65  sh_cmds$finish_e
1f1e0 76 61 6c 22 20 26 26 20 74 65 73 74 20 2d 6e 20  val" && test -n 
1f1f0 22 24 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e  "$libdirs"; then
1f200 0a 20 20 20 20 20 20 66 6f 72 20 64 69 72 0a 20  .      for dir. 
1f210 20 20 20 20 20 64 6f 0a 09 6c 69 62 64 69 72 73       do..libdirs
1f220 3d 22 24 6c 69 62 64 69 72 73 20 24 64 69 72 22  ="$libdirs $dir"
1f230 0a 20 20 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20  .      done..   
1f240 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e     for libdir in
1f250 20 24 6c 69 62 64 69 72 73 3b 20 64 6f 0a 09 69   $libdirs; do..i
1f260 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69 6e 69  f test -n "$fini
1f270 73 68 5f 63 6d 64 73 22 3b 20 74 68 65 6e 0a 09  sh_cmds"; then..
1f280 20 20 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d    # Do each comm
1f290 61 6e 64 20 69 6e 20 74 68 65 20 66 69 6e 69 73  and in the finis
1f2a0 68 20 63 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20 65  h commands...  e
1f2b0 76 61 6c 20 63 6d 64 73 3d 5c 22 24 66 69 6e 69  val cmds=\"$fini
1f2c0 73 68 5f 63 6d 64 73 5c 22 0a 09 20 20 73 61 76  sh_cmds\"..  sav
1f2d0 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46  e_ifs="$IFS"; IF
1f2e0 53 3d 27 7e 27 0a 09 20 20 66 6f 72 20 63 6d 64  S='~'..  for cmd
1f2f0 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20   in $cmds; do.. 
1f300 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66     IFS="$save_if
1f310 73 22 0a 09 20 20 20 20 24 73 68 6f 77 20 22 24  s"..    $show "$
1f320 63 6d 64 22 0a 09 20 20 20 20 24 72 75 6e 20 65  cmd"..    $run e
1f330 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20 61 64  val "$cmd" || ad
1f340 6d 69 6e 63 6d 64 73 3d 22 24 61 64 6d 69 6e 63  mincmds="$adminc
1f350 6d 64 73 0a 20 20 20 20 20 20 20 24 63 6d 64 22  mds.       $cmd"
1f360 0a 09 20 20 64 6f 6e 65 0a 09 20 20 49 46 53 3d  ..  done..  IFS=
1f370 22 24 73 61 76 65 5f 69 66 73 22 0a 09 66 69 0a  "$save_ifs"..fi.
1f380 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69  .if test -n "$fi
1f390 6e 69 73 68 5f 65 76 61 6c 22 3b 20 74 68 65 6e  nish_eval"; then
1f3a0 0a 09 20 20 23 20 44 6f 20 74 68 65 20 73 69 6e  ..  # Do the sin
1f3b0 67 6c 65 20 66 69 6e 69 73 68 5f 65 76 61 6c 2e  gle finish_eval.
1f3c0 0a 09 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22  ..  eval cmds=\"
1f3d0 24 66 69 6e 69 73 68 5f 65 76 61 6c 5c 22 0a 09  $finish_eval\"..
1f3e0 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d    $run eval "$cm
1f3f0 64 73 22 20 7c 7c 20 61 64 6d 69 6e 63 6d 64 73  ds" || admincmds
1f400 3d 22 24 61 64 6d 69 6e 63 6d 64 73 0a 20 20 20  ="$admincmds.   
1f410 20 20 20 20 24 63 6d 64 73 22 0a 09 66 69 0a 20      $cmds"..fi. 
1f420 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 66 69       done.    fi
1f430 0a 0a 20 20 20 20 23 20 45 78 69 74 20 68 65 72  ..    # Exit her
1f440 65 20 69 66 20 74 68 65 79 20 77 61 6e 74 65 64  e if they wanted
1f450 20 73 69 6c 65 6e 74 20 6d 6f 64 65 2e 0a 20 20   silent mode..  
1f460 20 20 74 65 73 74 20 22 24 73 68 6f 77 22 20 3d    test "$show" =
1f470 20 22 3a 22 20 26 26 20 65 78 69 74 20 30 0a 0a   ":" && exit 0..
1f480 20 20 20 20 65 63 68 6f 20 22 2d 2d 2d 2d 2d 2d      echo "------
1f490 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1f4a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1f4b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1f4c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1f4d0 22 0a 20 20 20 20 65 63 68 6f 20 22 4c 69 62 72  ".    echo "Libr
1f4e0 61 72 69 65 73 20 68 61 76 65 20 62 65 65 6e 20  aries have been 
1f4f0 69 6e 73 74 61 6c 6c 65 64 20 69 6e 3a 22 0a 20  installed in:". 
1f500 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e     for libdir in
1f510 20 24 6c 69 62 64 69 72 73 3b 20 64 6f 0a 20 20   $libdirs; do.  
1f520 20 20 20 20 65 63 68 6f 20 22 20 20 20 24 6c 69      echo "   $li
1f530 62 64 69 72 22 0a 20 20 20 20 64 6f 6e 65 0a 20  bdir".    done. 
1f540 20 20 20 65 63 68 6f 0a 20 20 20 20 65 63 68 6f     echo.    echo
1f550 20 22 49 66 20 79 6f 75 20 65 76 65 72 20 68 61   "If you ever ha
1f560 70 70 65 6e 20 74 6f 20 77 61 6e 74 20 74 6f 20  ppen to want to 
1f570 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 69 6e 73  link against ins
1f580 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 69 65 73  talled libraries
1f590 22 0a 20 20 20 20 65 63 68 6f 20 22 69 6e 20 61  ".    echo "in a
1f5a0 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79   given directory
1f5b0 2c 20 4c 49 42 44 49 52 2c 20 79 6f 75 20 6d 75  , LIBDIR, you mu
1f5c0 73 74 20 65 69 74 68 65 72 20 75 73 65 20 6c 69  st either use li
1f5d0 62 74 6f 6f 6c 2c 20 61 6e 64 22 0a 20 20 20 20  btool, and".    
1f5e0 65 63 68 6f 20 22 73 70 65 63 69 66 79 20 74 68  echo "specify th
1f5f0 65 20 66 75 6c 6c 20 70 61 74 68 6e 61 6d 65 20  e full pathname 
1f600 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2c 20  of the library, 
1f610 6f 72 20 75 73 65 20 74 68 65 20 5c 60 2d 4c 4c  or use the \`-LL
1f620 49 42 44 49 52 27 22 0a 20 20 20 20 65 63 68 6f  IBDIR'".    echo
1f630 20 22 66 6c 61 67 20 64 75 72 69 6e 67 20 6c 69   "flag during li
1f640 6e 6b 69 6e 67 20 61 6e 64 20 64 6f 20 61 74 20  nking and do at 
1f650 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65  least one of the
1f660 20 66 6f 6c 6c 6f 77 69 6e 67 3a 22 0a 20 20 20   following:".   
1f670 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68   if test -n "$sh
1f680 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68  libpath_var"; th
1f690 65 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 22 20  en.      echo " 
1f6a0 20 20 2d 20 61 64 64 20 4c 49 42 44 49 52 20 74    - add LIBDIR t
1f6b0 6f 20 74 68 65 20 5c 60 24 73 68 6c 69 62 70 61  o the \`$shlibpa
1f6c0 74 68 5f 76 61 72 27 20 65 6e 76 69 72 6f 6e 6d  th_var' environm
1f6d0 65 6e 74 20 76 61 72 69 61 62 6c 65 22 0a 20 20  ent variable".  
1f6e0 20 20 20 20 65 63 68 6f 20 22 20 20 20 20 20 64      echo "     d
1f6f0 75 72 69 6e 67 20 65 78 65 63 75 74 69 6f 6e 22  uring execution"
1f700 0a 20 20 20 20 66 69 0a 20 20 20 20 69 66 20 74  .    fi.    if t
1f710 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68  est -n "$runpath
1f720 5f 76 61 72 22 3b 20 74 68 65 6e 0a 20 20 20 20  _var"; then.    
1f730 20 20 65 63 68 6f 20 22 20 20 20 2d 20 61 64 64    echo "   - add
1f740 20 4c 49 42 44 49 52 20 74 6f 20 74 68 65 20 5c   LIBDIR to the \
1f750 60 24 72 75 6e 70 61 74 68 5f 76 61 72 27 20 65  `$runpath_var' e
1f760 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61  nvironment varia
1f770 62 6c 65 22 0a 20 20 20 20 20 20 65 63 68 6f 20  ble".      echo 
1f780 22 20 20 20 20 20 64 75 72 69 6e 67 20 6c 69 6e  "     during lin
1f790 6b 69 6e 67 22 0a 20 20 20 20 66 69 0a 20 20 20  king".    fi.   
1f7a0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 68 61   if test -n "$ha
1f7b0 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c  rdcode_libdir_fl
1f7c0 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a 20  ag_spec"; then. 
1f7d0 20 20 20 20 20 6c 69 62 64 69 72 3d 4c 49 42 44       libdir=LIBD
1f7e0 49 52 0a 20 20 20 20 20 20 65 76 61 6c 20 66 6c  IR.      eval fl
1f7f0 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f 6c  ag=\"$hardcode_l
1f800 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c  ibdir_flag_spec\
1f810 22 0a 0a 20 20 20 20 20 20 65 63 68 6f 20 22 20  "..      echo " 
1f820 20 20 2d 20 75 73 65 20 74 68 65 20 5c 60 24 66    - use the \`$f
1f830 6c 61 67 27 20 6c 69 6e 6b 65 72 20 66 6c 61 67  lag' linker flag
1f840 22 0a 20 20 20 20 66 69 0a 20 20 20 20 69 66 20  ".    fi.    if 
1f850 74 65 73 74 20 2d 6e 20 22 24 61 64 6d 69 6e 63  test -n "$adminc
1f860 6d 64 73 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  mds"; then.     
1f870 20 65 63 68 6f 20 22 20 20 20 2d 20 68 61 76 65   echo "   - have
1f880 20 79 6f 75 72 20 73 79 73 74 65 6d 20 61 64 6d   your system adm
1f890 69 6e 69 73 74 72 61 74 6f 72 20 72 75 6e 20 74  inistrator run t
1f8a0 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 3a 24 61  hese commands:$a
1f8b0 64 6d 69 6e 63 6d 64 73 22 0a 20 20 20 20 66 69  dmincmds".    fi
1f8c0 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 66 20  .    if test -f 
1f8d0 2f 65 74 63 2f 6c 64 2e 73 6f 2e 63 6f 6e 66 3b  /etc/ld.so.conf;
1f8e0 20 74 68 65 6e 0a 20 20 20 20 20 20 65 63 68 6f   then.      echo
1f8f0 20 22 20 20 20 2d 20 68 61 76 65 20 79 6f 75 72   "   - have your
1f900 20 73 79 73 74 65 6d 20 61 64 6d 69 6e 69 73 74   system administ
1f910 72 61 74 6f 72 20 61 64 64 20 4c 49 42 44 49 52  rator add LIBDIR
1f920 20 74 6f 20 5c 60 2f 65 74 63 2f 6c 64 2e 73 6f   to \`/etc/ld.so
1f930 2e 63 6f 6e 66 27 22 0a 20 20 20 20 66 69 0a 20  .conf'".    fi. 
1f940 20 20 20 65 63 68 6f 0a 20 20 20 20 65 63 68 6f     echo.    echo
1f950 20 22 53 65 65 20 61 6e 79 20 6f 70 65 72 61 74   "See any operat
1f960 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 63 75 6d  ing system docum
1f970 65 6e 74 61 74 69 6f 6e 20 61 62 6f 75 74 20 73  entation about s
1f980 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 20  hared libraries 
1f990 66 6f 72 22 0a 20 20 20 20 65 63 68 6f 20 22 6d  for".    echo "m
1f9a0 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c  ore information,
1f9b0 20 73 75 63 68 20 61 73 20 74 68 65 20 6c 64 28   such as the ld(
1f9c0 31 29 20 61 6e 64 20 6c 64 2e 73 6f 28 38 29 20  1) and ld.so(8) 
1f9d0 6d 61 6e 75 61 6c 20 70 61 67 65 73 2e 22 0a 20  manual pages.". 
1f9e0 20 20 20 65 63 68 6f 20 22 2d 2d 2d 2d 2d 2d 2d     echo "-------
1f9f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1fa00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1fa10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1fa20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22  ---------------"
1fa30 0a 20 20 20 20 65 78 69 74 20 30 0a 20 20 20 20  .    exit 0.    
1fa40 3b 3b 0a 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20  ;;..  # libtool 
1fa50 65 78 65 63 75 74 65 20 6d 6f 64 65 0a 20 20 65  execute mode.  e
1fa60 78 65 63 75 74 65 29 0a 20 20 20 20 6d 6f 64 65  xecute).    mode
1fa70 6e 61 6d 65 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a  name="$modename:
1fa80 20 65 78 65 63 75 74 65 22 0a 0a 20 20 20 20 23   execute"..    #
1fa90 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d   The first argum
1faa0 65 6e 74 20 69 73 20 74 68 65 20 63 6f 6d 6d 61  ent is the comma
1fab0 6e 64 20 6e 61 6d 65 2e 0a 20 20 20 20 63 6d 64  nd name..    cmd
1fac0 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 69  ="$nonopt".    i
1fad0 66 20 74 65 73 74 20 2d 7a 20 22 24 63 6d 64 22  f test -z "$cmd"
1fae0 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63  ; then.      $ec
1faf0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79  ho "$modename: y
1fb00 6f 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20  ou must specify 
1fb10 61 20 43 4f 4d 4d 41 4e 44 22 20 31 3e 26 32 0a  a COMMAND" 1>&2.
1fb20 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 68 65        $echo "$he
1fb30 6c 70 22 0a 20 20 20 20 20 20 65 78 69 74 20 31  lp".      exit 1
1fb40 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 48  .    fi..    # H
1fb50 61 6e 64 6c 65 20 2d 64 6c 6f 70 65 6e 20 66 6c  andle -dlopen fl
1fb60 61 67 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e  ags immediately.
1fb70 0a 20 20 20 20 66 6f 72 20 66 69 6c 65 20 69 6e  .    for file in
1fb80 20 24 65 78 65 63 75 74 65 5f 64 6c 66 69 6c 65   $execute_dlfile
1fb90 73 3b 20 64 6f 0a 20 20 20 20 20 20 69 66 20 74  s; do.      if t
1fba0 65 73 74 20 21 20 2d 66 20 22 24 66 69 6c 65 22  est ! -f "$file"
1fbb0 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24  ; then..$echo "$
1fbc0 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 66 69 6c  modename: \`$fil
1fbd0 65 27 20 69 73 20 6e 6f 74 20 61 20 66 69 6c 65  e' is not a file
1fbe0 22 20 31 3e 26 32 0a 09 24 65 63 68 6f 20 22 24  " 1>&2..$echo "$
1fbf0 68 65 6c 70 22 20 31 3e 26 32 0a 09 65 78 69 74  help" 1>&2..exit
1fc00 20 31 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20   1.      fi..   
1fc10 20 20 20 64 69 72 3d 0a 20 20 20 20 20 20 63 61     dir=.      ca
1fc20 73 65 20 24 66 69 6c 65 20 69 6e 0a 20 20 20 20  se $file in.    
1fc30 20 20 2a 2e 6c 61 29 0a 09 23 20 43 68 65 63 6b    *.la)..# Check
1fc40 20 74 6f 20 73 65 65 20 74 68 61 74 20 74 68 69   to see that thi
1fc50 73 20 72 65 61 6c 6c 79 20 69 73 20 61 20 6c 69  s really is a li
1fc60 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 2e 0a 09  btool archive...
1fc70 69 66 20 28 24 7b 53 45 44 7d 20 2d 65 20 27 32  if (${SED} -e '2
1fc80 71 27 20 24 66 69 6c 65 20 7c 20 65 67 72 65 70  q' $file | egrep
1fc90 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62   "^# Generated b
1fca0 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20 3e  y .*$PACKAGE") >
1fcb0 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20  /dev/null 2>&1; 
1fcc0 74 68 65 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20  then :..else..  
1fcd0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1fce0 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f 74  : \`$lib' is not
1fcf0 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c   a valid libtool
1fd00 20 61 72 63 68 69 76 65 22 20 31 3e 26 32 0a 09   archive" 1>&2..
1fd10 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20    $echo "$help" 
1fd20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09  1>&2..  exit 1..
1fd30 66 69 0a 0a 09 23 20 52 65 61 64 20 74 68 65 20  fi...# Read the 
1fd40 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2e  libtool library.
1fd50 0a 09 64 6c 6e 61 6d 65 3d 0a 09 6c 69 62 72 61  ..dlname=..libra
1fd60 72 79 5f 6e 61 6d 65 73 3d 0a 0a 09 23 20 49 66  ry_names=...# If
1fd70 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72   there is no dir
1fd80 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74  ectory component
1fd90 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a  , then add one..
1fda0 09 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a 09  .case $file in..
1fdb0 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 66  */* | *\\*) . $f
1fdc0 69 6c 65 20 3b 3b 0a 09 2a 29 20 2e 20 2e 2f 24  ile ;;..*) . ./$
1fdd0 66 69 6c 65 20 3b 3b 0a 09 65 73 61 63 0a 0a 09  file ;;..esac...
1fde0 23 20 53 6b 69 70 20 74 68 69 73 20 6c 69 62 72  # Skip this libr
1fdf0 61 72 79 20 69 66 20 69 74 20 63 61 6e 6e 6f 74  ary if it cannot
1fe00 20 62 65 20 64 6c 6f 70 65 6e 65 64 2e 0a 09 69   be dlopened...i
1fe10 66 20 74 65 73 74 20 2d 7a 20 22 24 64 6c 6e 61  f test -z "$dlna
1fe20 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 23 20 57  me"; then..  # W
1fe30 61 72 6e 20 69 66 20 69 74 20 77 61 73 20 61 20  arn if it was a 
1fe40 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 2e 0a  shared library..
1fe50 09 20 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 62  .  test -n "$lib
1fe60 72 61 72 79 5f 6e 61 6d 65 73 22 20 26 26 20 24  rary_names" && $
1fe70 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
1fe80 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24 66 69 6c   warning: \`$fil
1fe90 65 27 20 77 61 73 20 6e 6f 74 20 6c 69 6e 6b 65  e' was not linke
1fea0 64 20 77 69 74 68 20 5c 60 2d 65 78 70 6f 72 74  d with \`-export
1feb0 2d 64 79 6e 61 6d 69 63 27 22 0a 09 20 20 63 6f  -dynamic'"..  co
1fec0 6e 74 69 6e 75 65 0a 09 66 69 0a 0a 09 64 69 72  ntinue..fi...dir
1fed0 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65 22  =`$echo "X$file"
1fee0 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f   | $Xsed -e 's%/
1fef0 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 74 65 73 74  [^/]*$%%'`..test
1ff00 20 22 58 24 64 69 72 22 20 3d 20 22 58 24 66 69   "X$dir" = "X$fi
1ff10 6c 65 22 20 26 26 20 64 69 72 3d 2e 0a 0a 09 69  le" && dir=....i
1ff20 66 20 74 65 73 74 20 2d 66 20 22 24 64 69 72 2f  f test -f "$dir/
1ff30 24 6f 62 6a 64 69 72 2f 24 64 6c 6e 61 6d 65 22  $objdir/$dlname"
1ff40 3b 20 74 68 65 6e 0a 09 20 20 64 69 72 3d 22 24  ; then..  dir="$
1ff50 64 69 72 2f 24 6f 62 6a 64 69 72 22 0a 09 65 6c  dir/$objdir"..el
1ff60 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  se..  $echo "$mo
1ff70 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 66  dename: cannot f
1ff80 69 6e 64 20 5c 60 24 64 6c 6e 61 6d 65 27 20 69  ind \`$dlname' i
1ff90 6e 20 5c 60 24 64 69 72 27 20 6f 72 20 5c 60 24  n \`$dir' or \`$
1ffa0 64 69 72 2f 24 6f 62 6a 64 69 72 27 22 20 31 3e  dir/$objdir'" 1>
1ffb0 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69  &2..  exit 1..fi
1ffc0 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f  ..;;..      *.lo
1ffd0 29 0a 09 23 20 4a 75 73 74 20 61 64 64 20 74 68  )..# Just add th
1ffe0 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74  e directory cont
1fff0 61 69 6e 69 6e 67 20 74 68 65 20 2e 6c 6f 20 66  aining the .lo f
20000 69 6c 65 2e 0a 09 64 69 72 3d 60 24 65 63 68 6f  ile...dir=`$echo
20010 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65   "X$file" | $Xse
20020 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25  d -e 's%/[^/]*$%
20030 25 27 60 0a 09 74 65 73 74 20 22 58 24 64 69 72  %'`..test "X$dir
20040 22 20 3d 20 22 58 24 66 69 6c 65 22 20 26 26 20  " = "X$file" && 
20050 64 69 72 3d 2e 0a 09 3b 3b 0a 0a 20 20 20 20 20  dir=...;;..     
20060 20 2a 29 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64   *)..$echo "$mod
20070 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 20 5c  ename: warning \
20080 60 2d 64 6c 6f 70 65 6e 27 20 69 73 20 69 67 6e  `-dlopen' is ign
20090 6f 72 65 64 20 66 6f 72 20 6e 6f 6e 2d 6c 69 62  ored for non-lib
200a0 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 20 61  tool libraries a
200b0 6e 64 20 6f 62 6a 65 63 74 73 22 20 31 3e 26 32  nd objects" 1>&2
200c0 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 20  ..continue..;;. 
200d0 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20       esac..     
200e0 20 23 20 47 65 74 20 74 68 65 20 61 62 73 6f 6c   # Get the absol
200f0 75 74 65 20 70 61 74 68 6e 61 6d 65 2e 0a 20 20  ute pathname..  
20100 20 20 20 20 61 62 73 64 69 72 3d 60 63 64 20 22      absdir=`cd "
20110 24 64 69 72 22 20 26 26 20 70 77 64 60 0a 20 20  $dir" && pwd`.  
20120 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 61 62      test -n "$ab
20130 73 64 69 72 22 20 26 26 20 64 69 72 3d 22 24 61  sdir" && dir="$a
20140 62 73 64 69 72 22 0a 0a 20 20 20 20 20 20 23 20  bsdir"..      # 
20150 4e 6f 77 20 61 64 64 20 74 68 65 20 64 69 72 65  Now add the dire
20160 63 74 6f 72 79 20 74 6f 20 73 68 6c 69 62 70 61  ctory to shlibpa
20170 74 68 5f 76 61 72 2e 0a 20 20 20 20 20 20 69 66  th_var..      if
20180 20 65 76 61 6c 20 22 74 65 73 74 20 2d 7a 20 5c   eval "test -z \
20190 22 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61  "\$$shlibpath_va
201a0 72 5c 22 22 3b 20 74 68 65 6e 0a 09 65 76 61 6c  r\""; then..eval
201b0 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
201c0 3d 5c 22 5c 24 64 69 72 5c 22 22 0a 20 20 20 20  =\"\$dir\"".    
201d0 20 20 65 6c 73 65 0a 09 65 76 61 6c 20 22 24 73    else..eval "$s
201e0 68 6c 69 62 70 61 74 68 5f 76 61 72 3d 5c 22 5c  hlibpath_var=\"\
201f0 24 64 69 72 3a 5c 24 24 73 68 6c 69 62 70 61 74  $dir:\$$shlibpat
20200 68 5f 76 61 72 5c 22 22 0a 20 20 20 20 20 20 66  h_var\"".      f
20210 69 0a 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20  i.    done..    
20220 23 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20  # This variable 
20230 74 65 6c 6c 73 20 77 72 61 70 70 65 72 20 73 63  tells wrapper sc
20240 72 69 70 74 73 20 6a 75 73 74 20 74 6f 20 73 65  ripts just to se
20250 74 20 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a  t shlibpath_var.
20260 20 20 20 20 23 20 72 61 74 68 65 72 20 74 68 61      # rather tha
20270 6e 20 72 75 6e 6e 69 6e 67 20 74 68 65 69 72 20  n running their 
20280 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 6c 69  programs..    li
20290 62 74 6f 6f 6c 5f 65 78 65 63 75 74 65 5f 6d 61  btool_execute_ma
202a0 67 69 63 3d 22 24 6d 61 67 69 63 22 0a 0a 20 20  gic="$magic"..  
202b0 20 20 23 20 43 68 65 63 6b 20 69 66 20 61 6e 79    # Check if any
202c0 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74   of the argument
202d0 73 20 69 73 20 61 20 77 72 61 70 70 65 72 20 73  s is a wrapper s
202e0 63 72 69 70 74 2e 0a 20 20 20 20 61 72 67 73 3d  cript..    args=
202f0 0a 20 20 20 20 66 6f 72 20 66 69 6c 65 0a 20 20  .    for file.  
20300 20 20 64 6f 0a 20 20 20 20 20 20 63 61 73 65 20    do.      case 
20310 24 66 69 6c 65 20 69 6e 0a 20 20 20 20 20 20 2d  $file in.      -
20320 2a 29 20 3b 3b 0a 20 20 20 20 20 20 2a 29 0a 09  *) ;;.      *)..
20330 23 20 44 6f 20 61 20 74 65 73 74 20 74 6f 20 73  # Do a test to s
20340 65 65 20 69 66 20 74 68 69 73 20 69 73 20 72 65  ee if this is re
20350 61 6c 6c 79 20 61 20 6c 69 62 74 6f 6f 6c 20 70  ally a libtool p
20360 72 6f 67 72 61 6d 2e 0a 09 69 66 20 28 24 7b 53  rogram...if (${S
20370 45 44 7d 20 2d 65 20 27 34 71 27 20 24 66 69 6c  ED} -e '4q' $fil
20380 65 20 7c 20 65 67 72 65 70 20 22 5e 23 20 47 65  e | egrep "^# Ge
20390 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41  nerated by .*$PA
203a0 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75  CKAGE") >/dev/nu
203b0 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09 20  ll 2>&1; then.. 
203c0 20 23 20 49 66 20 74 68 65 72 65 20 69 73 20 6e   # If there is n
203d0 6f 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6d 70  o directory comp
203e0 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61 64 64 20  onent, then add 
203f0 6f 6e 65 2e 0a 09 20 20 63 61 73 65 20 24 66 69  one...  case $fi
20400 6c 65 20 69 6e 0a 09 20 20 2a 2f 2a 20 7c 20 2a  le in..  */* | *
20410 5c 5c 2a 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a  \\*) . $file ;;.
20420 09 20 20 2a 29 20 2e 20 2e 2f 24 66 69 6c 65 20  .  *) . ./$file 
20430 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20 20 23  ;;..  esac...  #
20440 20 54 72 61 6e 73 66 6f 72 6d 20 61 72 67 20 74   Transform arg t
20450 6f 20 77 72 61 70 70 65 64 20 6e 61 6d 65 2e 0a  o wrapped name..
20460 09 20 20 66 69 6c 65 3d 22 24 70 72 6f 67 64 69  .  file="$progdi
20470 72 2f 24 70 72 6f 67 72 61 6d 22 0a 09 66 69 0a  r/$program"..fi.
20480 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20  .;;.      esac. 
20490 20 20 20 20 20 23 20 51 75 6f 74 65 20 61 72 67       # Quote arg
204a0 75 6d 65 6e 74 73 20 28 74 6f 20 70 72 65 73 65  uments (to prese
204b0 72 76 65 20 73 68 65 6c 6c 20 6d 65 74 61 63 68  rve shell metach
204c0 61 72 61 63 74 65 72 73 29 2e 0a 20 20 20 20 20  aracters)..     
204d0 20 66 69 6c 65 3d 60 24 65 63 68 6f 20 22 58 24   file=`$echo "X$
204e0 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65  file" | $Xsed -e
204f0 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62   "$sed_quote_sub
20500 73 74 22 60 0a 20 20 20 20 20 20 61 72 67 73 3d  st"`.      args=
20510 22 24 61 72 67 73 20 5c 22 24 66 69 6c 65 5c 22  "$args \"$file\"
20520 22 0a 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20  ".    done..    
20530 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e  if test -z "$run
20540 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 69 66  "; then.      if
20550 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c 69 62   test -n "$shlib
20560 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a  path_var"; then.
20570 09 23 20 45 78 70 6f 72 74 20 74 68 65 20 73 68  .# Export the sh
20580 6c 69 62 70 61 74 68 5f 76 61 72 2e 0a 09 65 76  libpath_var...ev
20590 61 6c 20 22 65 78 70 6f 72 74 20 24 73 68 6c 69  al "export $shli
205a0 62 70 61 74 68 5f 76 61 72 22 0a 20 20 20 20 20  bpath_var".     
205b0 20 66 69 0a 0a 20 20 20 20 20 20 23 20 52 65 73   fi..      # Res
205c0 74 6f 72 65 20 73 61 76 65 64 20 65 6e 76 69 72  tore saved envir
205d0 6f 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 0a  oment variables.
205e0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
205f0 7b 73 61 76 65 5f 4c 43 5f 41 4c 4c 2b 73 65 74  {save_LC_ALL+set
20600 7d 22 20 3d 20 73 65 74 3b 20 74 68 65 6e 0a 09  }" = set; then..
20610 4c 43 5f 41 4c 4c 3d 22 24 73 61 76 65 5f 4c 43  LC_ALL="$save_LC
20620 5f 41 4c 4c 22 3b 20 65 78 70 6f 72 74 20 4c 43  _ALL"; export LC
20630 5f 41 4c 4c 0a 20 20 20 20 20 20 66 69 0a 20 20  _ALL.      fi.  
20640 20 20 20 20 69 66 20 74 65 73 74 20 22 24 7b 73      if test "${s
20650 61 76 65 5f 4c 41 4e 47 2b 73 65 74 7d 22 20 3d  ave_LANG+set}" =
20660 20 73 65 74 3b 20 74 68 65 6e 0a 09 4c 41 4e 47   set; then..LANG
20670 3d 22 24 73 61 76 65 5f 4c 41 4e 47 22 3b 20 65  ="$save_LANG"; e
20680 78 70 6f 72 74 20 4c 41 4e 47 0a 20 20 20 20 20  xport LANG.     
20690 20 66 69 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77   fi..      # Now
206a0 20 70 72 65 70 61 72 65 20 74 6f 20 61 63 74 75   prepare to actu
206b0 61 6c 6c 79 20 65 78 65 63 20 74 68 65 20 63 6f  ally exec the co
206c0 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20 65 78 65  mmand..      exe
206d0 63 5f 63 6d 64 3d 22 5c 24 63 6d 64 24 61 72 67  c_cmd="\$cmd$arg
206e0 73 22 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20  s".    else.    
206f0 20 20 23 20 44 69 73 70 6c 61 79 20 77 68 61 74    # Display what
20700 20 77 6f 75 6c 64 20 62 65 20 64 6f 6e 65 2e 0a   would be done..
20710 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
20720 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
20730 22 3b 20 74 68 65 6e 0a 09 65 76 61 6c 20 22 5c  "; then..eval "\
20740 24 65 63 68 6f 20 5c 22 5c 24 73 68 6c 69 62 70  $echo \"\$shlibp
20750 61 74 68 5f 76 61 72 3d 5c 24 24 73 68 6c 69 62  ath_var=\$$shlib
20760 70 61 74 68 5f 76 61 72 5c 22 22 0a 09 24 65 63  path_var\""..$ec
20770 68 6f 20 22 65 78 70 6f 72 74 20 24 73 68 6c 69  ho "export $shli
20780 62 70 61 74 68 5f 76 61 72 22 0a 20 20 20 20 20  bpath_var".     
20790 20 66 69 0a 20 20 20 20 20 20 24 65 63 68 6f 20   fi.      $echo 
207a0 22 24 63 6d 64 24 61 72 67 73 22 0a 20 20 20 20  "$cmd$args".    
207b0 20 20 65 78 69 74 20 30 0a 20 20 20 20 66 69 0a    exit 0.    fi.
207c0 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c 69 62 74      ;;..  # libt
207d0 6f 6f 6c 20 63 6c 65 61 6e 20 61 6e 64 20 75 6e  ool clean and un
207e0 69 6e 73 74 61 6c 6c 20 6d 6f 64 65 0a 20 20 63  install mode.  c
207f0 6c 65 61 6e 20 7c 20 75 6e 69 6e 73 74 61 6c 6c  lean | uninstall
20800 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22  ).    modename="
20810 24 6d 6f 64 65 6e 61 6d 65 3a 20 24 6d 6f 64 65  $modename: $mode
20820 22 0a 20 20 20 20 72 6d 3d 22 24 6e 6f 6e 6f 70  ".    rm="$nonop
20830 74 22 0a 20 20 20 20 66 69 6c 65 73 3d 0a 20 20  t".    files=.  
20840 20 20 72 6d 66 6f 72 63 65 3d 0a 20 20 20 20 65    rmforce=.    e
20850 78 69 74 5f 73 74 61 74 75 73 3d 30 0a 0a 20 20  xit_status=0..  
20860 20 20 23 20 54 68 69 73 20 76 61 72 69 61 62 6c    # This variabl
20870 65 20 74 65 6c 6c 73 20 77 72 61 70 70 65 72 20  e tells wrapper 
20880 73 63 72 69 70 74 73 20 6a 75 73 74 20 74 6f 20  scripts just to 
20890 73 65 74 20 76 61 72 69 61 62 6c 65 73 20 72 61  set variables ra
208a0 74 68 65 72 0a 20 20 20 20 23 20 74 68 61 6e 20  ther.    # than 
208b0 72 75 6e 6e 69 6e 67 20 74 68 65 69 72 20 70 72  running their pr
208c0 6f 67 72 61 6d 73 2e 0a 20 20 20 20 6c 69 62 74  ograms..    libt
208d0 6f 6f 6c 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69  ool_install_magi
208e0 63 3d 22 24 6d 61 67 69 63 22 0a 0a 20 20 20 20  c="$magic"..    
208f0 66 6f 72 20 61 72 67 0a 20 20 20 20 64 6f 0a 20  for arg.    do. 
20900 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20 69       case $arg i
20910 6e 0a 20 20 20 20 20 20 2d 66 29 20 72 6d 3d 22  n.      -f) rm="
20920 24 72 6d 20 24 61 72 67 22 3b 20 72 6d 66 6f 72  $rm $arg"; rmfor
20930 63 65 3d 79 65 73 20 3b 3b 0a 20 20 20 20 20 20  ce=yes ;;.      
20940 2d 2a 29 20 72 6d 3d 22 24 72 6d 20 24 61 72 67  -*) rm="$rm $arg
20950 22 20 3b 3b 0a 20 20 20 20 20 20 2a 29 20 66 69  " ;;.      *) fi
20960 6c 65 73 3d 22 24 66 69 6c 65 73 20 24 61 72 67  les="$files $arg
20970 22 20 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  " ;;.      esac.
20980 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66      done..    if
20990 20 74 65 73 74 20 2d 7a 20 22 24 72 6d 22 3b 20   test -z "$rm"; 
209a0 74 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f  then.      $echo
209b0 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75   "$modename: you
209c0 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e   must specify an
209d0 20 52 4d 20 70 72 6f 67 72 61 6d 22 20 31 3e 26   RM program" 1>&
209e0 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  2.      $echo "$
209f0 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20  help" 1>&2.     
20a00 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 0a   exit 1.    fi..
20a10 20 20 20 20 72 6d 64 69 72 73 3d 0a 0a 20 20 20      rmdirs=..   
20a20 20 66 6f 72 20 66 69 6c 65 20 69 6e 20 24 66 69   for file in $fi
20a30 6c 65 73 3b 20 64 6f 0a 20 20 20 20 20 20 64 69  les; do.      di
20a40 72 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  r=`$echo "X$file
20a50 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
20a60 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20  /[^/]*$%%'`.    
20a70 20 20 69 66 20 74 65 73 74 20 22 58 24 64 69 72    if test "X$dir
20a80 22 20 3d 20 22 58 24 66 69 6c 65 22 3b 20 74 68  " = "X$file"; th
20a90 65 6e 0a 09 64 69 72 3d 2e 0a 09 6f 62 6a 64 69  en..dir=...objdi
20aa0 72 3d 22 24 6f 62 6a 64 69 72 22 0a 20 20 20 20  r="$objdir".    
20ab0 20 20 65 6c 73 65 0a 09 6f 62 6a 64 69 72 3d 22    else..objdir="
20ac0 24 64 69 72 2f 24 6f 62 6a 64 69 72 22 0a 20 20  $dir/$objdir".  
20ad0 20 20 20 20 66 69 0a 20 20 20 20 20 20 6e 61 6d      fi.      nam
20ae0 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
20af0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
20b00 5e 2e 2a 2f 25 25 27 60 0a 20 20 20 20 20 20 74  ^.*/%%'`.      t
20b10 65 73 74 20 24 6d 6f 64 65 20 3d 20 75 6e 69 6e  est $mode = unin
20b20 73 74 61 6c 6c 20 26 26 20 6f 62 6a 64 69 72 3d  stall && objdir=
20b30 22 24 64 69 72 22 0a 0a 20 20 20 20 20 20 23 20  "$dir"..      # 
20b40 52 65 6d 65 6d 62 65 72 20 6f 62 6a 64 69 72 20  Remember objdir 
20b50 66 6f 72 20 72 65 6d 6f 76 61 6c 20 6c 61 74 65  for removal late
20b60 72 2c 20 62 65 69 6e 67 20 63 61 72 65 66 75 6c  r, being careful
20b70 20 74 6f 20 61 76 6f 69 64 20 64 75 70 6c 69 63   to avoid duplic
20b80 61 74 65 73 0a 20 20 20 20 20 20 69 66 20 74 65  ates.      if te
20b90 73 74 20 24 6d 6f 64 65 20 3d 20 63 6c 65 61 6e  st $mode = clean
20ba0 3b 20 74 68 65 6e 0a 09 63 61 73 65 20 22 20 24  ; then..case " $
20bb0 72 6d 64 69 72 73 20 22 20 69 6e 0a 09 20 20 2a  rmdirs " in..  *
20bc0 22 20 24 6f 62 6a 64 69 72 20 22 2a 29 20 3b 3b  " $objdir "*) ;;
20bd0 0a 09 20 20 2a 29 20 72 6d 64 69 72 73 3d 22 24  ..  *) rmdirs="$
20be0 72 6d 64 69 72 73 20 24 6f 62 6a 64 69 72 22 20  rmdirs $objdir" 
20bf0 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20 20 20 66  ;;..esac.      f
20c00 69 0a 0a 20 20 20 20 20 20 23 20 44 6f 6e 27 74  i..      # Don't
20c10 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66 69   error if the fi
20c20 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74  le doesn't exist
20c30 20 61 6e 64 20 72 6d 20 2d 66 20 77 61 73 20 75   and rm -f was u
20c40 73 65 64 2e 0a 20 20 20 20 20 20 69 66 20 28 74  sed..      if (t
20c50 65 73 74 20 2d 4c 20 22 24 66 69 6c 65 22 29 20  est -L "$file") 
20c60 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20  >/dev/null 2>&1 
20c70 5c 0a 09 7c 7c 20 28 74 65 73 74 20 2d 68 20 22  \..|| (test -h "
20c80 24 66 69 6c 65 22 29 20 3e 2f 64 65 76 2f 6e 75  $file") >/dev/nu
20c90 6c 6c 20 32 3e 26 31 20 5c 0a 09 7c 7c 20 74 65  ll 2>&1 \..|| te
20ca0 73 74 20 2d 66 20 22 24 66 69 6c 65 22 3b 20 74  st -f "$file"; t
20cb0 68 65 6e 0a 09 3a 0a 20 20 20 20 20 20 65 6c 69  hen..:.      eli
20cc0 66 20 74 65 73 74 20 2d 64 20 22 24 66 69 6c 65  f test -d "$file
20cd0 22 3b 20 74 68 65 6e 0a 09 65 78 69 74 5f 73 74  "; then..exit_st
20ce0 61 74 75 73 3d 31 0a 09 63 6f 6e 74 69 6e 75 65  atus=1..continue
20cf0 0a 20 20 20 20 20 20 65 6c 69 66 20 74 65 73 74  .      elif test
20d00 20 22 24 72 6d 66 6f 72 63 65 22 20 3d 20 79 65   "$rmforce" = ye
20d10 73 3b 20 74 68 65 6e 0a 09 63 6f 6e 74 69 6e 75  s; then..continu
20d20 65 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  e.      fi..    
20d30 20 20 72 6d 66 69 6c 65 73 3d 22 24 66 69 6c 65    rmfiles="$file
20d40 22 0a 0a 20 20 20 20 20 20 63 61 73 65 20 24 6e  "..      case $n
20d50 61 6d 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e 6c  ame in.      *.l
20d60 61 29 0a 09 23 20 50 6f 73 73 69 62 6c 79 20 61  a)..# Possibly a
20d70 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65   libtool archive
20d80 2c 20 73 6f 20 76 65 72 69 66 79 20 69 74 2e 0a  , so verify it..
20d90 09 69 66 20 28 24 7b 53 45 44 7d 20 2d 65 20 27  .if (${SED} -e '
20da0 32 71 27 20 24 66 69 6c 65 20 7c 20 65 67 72 65  2q' $file | egre
20db0 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20  p "^# Generated 
20dc0 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20  by .*$PACKAGE") 
20dd0 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b  >/dev/null 2>&1;
20de0 20 74 68 65 6e 0a 09 20 20 2e 20 24 64 69 72 2f   then..  . $dir/
20df0 24 6e 61 6d 65 0a 0a 09 20 20 23 20 44 65 6c 65  $name...  # Dele
20e00 74 65 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c  te the libtool l
20e10 69 62 72 61 72 69 65 73 20 61 6e 64 20 73 79 6d  ibraries and sym
20e20 6c 69 6e 6b 73 2e 0a 09 20 20 66 6f 72 20 6e 20  links...  for n 
20e30 69 6e 20 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  in $library_name
20e40 73 3b 20 64 6f 0a 09 20 20 20 20 72 6d 66 69 6c  s; do..    rmfil
20e50 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62  es="$rmfiles $ob
20e60 6a 64 69 72 2f 24 6e 22 0a 09 20 20 64 6f 6e 65  jdir/$n"..  done
20e70 0a 09 20 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c  ..  test -n "$ol
20e80 64 5f 6c 69 62 72 61 72 79 22 20 26 26 20 72 6d  d_library" && rm
20e90 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20  files="$rmfiles 
20ea0 24 6f 62 6a 64 69 72 2f 24 6f 6c 64 5f 6c 69 62  $objdir/$old_lib
20eb0 72 61 72 79 22 0a 09 20 20 74 65 73 74 20 24 6d  rary"..  test $m
20ec0 6f 64 65 20 3d 20 63 6c 65 61 6e 20 26 26 20 72  ode = clean && r
20ed0 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73  mfiles="$rmfiles
20ee0 20 24 6f 62 6a 64 69 72 2f 24 6e 61 6d 65 20 24   $objdir/$name $
20ef0 6f 62 6a 64 69 72 2f 24 7b 6e 61 6d 65 7d 69 22  objdir/${name}i"
20f00 0a 0a 09 20 20 69 66 20 74 65 73 74 20 24 6d 6f  ...  if test $mo
20f10 64 65 20 3d 20 75 6e 69 6e 73 74 61 6c 6c 3b 20  de = uninstall; 
20f20 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73  then..    if tes
20f30 74 20 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e  t -n "$library_n
20f40 61 6d 65 73 22 3b 20 74 68 65 6e 0a 09 20 20 20  ames"; then..   
20f50 20 20 20 23 20 44 6f 20 65 61 63 68 20 63 6f 6d     # Do each com
20f60 6d 61 6e 64 20 69 6e 20 74 68 65 20 70 6f 73 74  mand in the post
20f70 75 6e 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e  uninstall comman
20f80 64 73 2e 0a 09 20 20 20 20 20 20 65 76 61 6c 20  ds...      eval 
20f90 63 6d 64 73 3d 5c 22 24 70 6f 73 74 75 6e 69 6e  cmds=\"$postunin
20fa0 73 74 61 6c 6c 5f 63 6d 64 73 5c 22 0a 09 20 20  stall_cmds\"..  
20fb0 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24 49      save_ifs="$I
20fc0 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20  FS"; IFS='~'..  
20fd0 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24      for cmd in $
20fe0 63 6d 64 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22  cmds; do...IFS="
20ff0 24 73 61 76 65 5f 69 66 73 22 0a 09 09 24 73 68  $save_ifs"...$sh
21000 6f 77 20 22 24 63 6d 64 22 0a 09 09 24 72 75 6e  ow "$cmd"...$run
21010 20 65 76 61 6c 20 22 24 63 6d 64 22 0a 09 09 69   eval "$cmd"...i
21020 66 20 74 65 73 74 20 24 3f 20 21 3d 20 30 20 26  f test $? != 0 &
21030 26 20 74 65 73 74 20 22 24 72 6d 66 6f 72 63 65  & test "$rmforce
21040 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  " != yes; then..
21050 09 20 20 65 78 69 74 5f 73 74 61 74 75 73 3d 31  .  exit_status=1
21060 0a 09 09 66 69 0a 09 20 20 20 20 20 20 64 6f 6e  ...fi..      don
21070 65 0a 09 20 20 20 20 20 20 49 46 53 3d 22 24 73  e..      IFS="$s
21080 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 66 69  ave_ifs"..    fi
21090 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  ...    if test -
210a0 6e 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22  n "$old_library"
210b0 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20  ; then..      # 
210c0 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20  Do each command 
210d0 69 6e 20 74 68 65 20 6f 6c 64 5f 70 6f 73 74 75  in the old_postu
210e0 6e 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64  ninstall command
210f0 73 2e 0a 09 20 20 20 20 20 20 65 76 61 6c 20 63  s...      eval c
21100 6d 64 73 3d 5c 22 24 6f 6c 64 5f 70 6f 73 74 75  mds=\"$old_postu
21110 6e 69 6e 73 74 61 6c 6c 5f 63 6d 64 73 5c 22 0a  ninstall_cmds\".
21120 09 20 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d  .      save_ifs=
21130 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a  "$IFS"; IFS='~'.
21140 09 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20 69  .      for cmd i
21150 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 09 49 46  n $cmds; do...IF
21160 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 09  S="$save_ifs"...
21170 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24  $show "$cmd"...$
21180 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 0a  run eval "$cmd".
21190 09 09 69 66 20 74 65 73 74 20 24 3f 20 21 3d 20  ..if test $? != 
211a0 30 20 26 26 20 74 65 73 74 20 22 24 72 6d 66 6f  0 && test "$rmfo
211b0 72 63 65 22 20 21 3d 20 79 65 73 3b 20 74 68 65  rce" != yes; the
211c0 6e 0a 09 09 20 20 65 78 69 74 5f 73 74 61 74 75  n...  exit_statu
211d0 73 3d 31 0a 09 09 66 69 0a 09 20 20 20 20 20 20  s=1...fi..      
211e0 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46 53 3d  done..      IFS=
211f0 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20  "$save_ifs"..   
21200 20 66 69 0a 09 20 20 20 20 23 20 46 49 58 4d 45   fi..    # FIXME
21210 3a 20 73 68 6f 75 6c 64 20 72 65 69 6e 73 74 61  : should reinsta
21220 6c 6c 20 74 68 65 20 62 65 73 74 20 72 65 6d 61  ll the best rema
21230 69 6e 69 6e 67 20 73 68 61 72 65 64 20 6c 69 62  ining shared lib
21240 72 61 72 79 2e 0a 09 20 20 66 69 0a 09 66 69 0a  rary...  fi..fi.
21250 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f 29  .;;..      *.lo)
21260 0a 09 69 66 20 74 65 73 74 20 22 24 62 75 69 6c  ..if test "$buil
21270 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65  d_old_libs" = ye
21280 73 3b 20 74 68 65 6e 0a 09 20 20 6f 6c 64 6f 62  s; then..  oldob
21290 6a 3d 60 24 65 63 68 6f 20 22 58 24 6e 61 6d 65  j=`$echo "X$name
212a0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 6c  " | $Xsed -e "$l
212b0 6f 32 6f 22 60 0a 09 20 20 72 6d 66 69 6c 65 73  o2o"`..  rmfiles
212c0 3d 22 24 72 6d 66 69 6c 65 73 20 24 64 69 72 2f  ="$rmfiles $dir/
212d0 24 6f 6c 64 6f 62 6a 22 0a 09 66 69 0a 09 3b 3b  $oldobj"..fi..;;
212e0 0a 0a 20 20 20 20 20 20 2a 29 0a 09 23 20 44 6f  ..      *)..# Do
212f0 20 61 20 74 65 73 74 20 74 6f 20 73 65 65 20 69   a test to see i
21300 66 20 74 68 69 73 20 69 73 20 61 20 6c 69 62 74  f this is a libt
21310 6f 6f 6c 20 70 72 6f 67 72 61 6d 2e 0a 09 69 66  ool program...if
21320 20 74 65 73 74 20 24 6d 6f 64 65 20 3d 20 63 6c   test $mode = cl
21330 65 61 6e 20 26 26 0a 09 20 20 20 28 24 7b 53 45  ean &&..   (${SE
21340 44 7d 20 2d 65 20 27 34 71 27 20 24 66 69 6c 65  D} -e '4q' $file
21350 20 7c 20 65 67 72 65 70 20 22 5e 23 20 47 65 6e   | egrep "^# Gen
21360 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43  erated by .*$PAC
21370 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c  KAGE") >/dev/nul
21380 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09 20 20  l 2>&1; then..  
21390 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a  relink_command=.
213a0 09 20 20 2e 20 24 64 69 72 2f 24 66 69 6c 65 0a  .  . $dir/$file.
213b0 0a 09 20 20 72 6d 66 69 6c 65 73 3d 22 24 72 6d  ..  rmfiles="$rm
213c0 66 69 6c 65 73 20 24 6f 62 6a 64 69 72 2f 24 6e  files $objdir/$n
213d0 61 6d 65 20 24 6f 62 6a 64 69 72 2f 24 7b 6e 61  ame $objdir/${na
213e0 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a  me}S.${objext}".
213f0 09 20 20 69 66 20 74 65 73 74 20 22 24 66 61 73  .  if test "$fas
21400 74 5f 69 6e 73 74 61 6c 6c 22 20 3d 20 79 65 73  t_install" = yes
21410 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 72 65   && test -n "$re
21420 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74  link_command"; t
21430 68 65 6e 0a 09 20 20 20 20 72 6d 66 69 6c 65 73  hen..    rmfiles
21440 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64  ="$rmfiles $objd
21450 69 72 2f 6c 74 2d 24 6e 61 6d 65 22 0a 09 20 20  ir/lt-$name"..  
21460 66 69 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20  fi..fi..;;.     
21470 20 65 73 61 63 0a 20 20 20 20 20 20 24 73 68 6f   esac.      $sho
21480 77 20 22 24 72 6d 20 24 72 6d 66 69 6c 65 73 22  w "$rm $rmfiles"
21490 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20  .      $run $rm 
214a0 24 72 6d 66 69 6c 65 73 20 7c 7c 20 65 78 69 74  $rmfiles || exit
214b0 5f 73 74 61 74 75 73 3d 31 0a 20 20 20 20 64 6f  _status=1.    do
214c0 6e 65 0a 0a 20 20 20 20 23 20 54 72 79 20 74 6f  ne..    # Try to
214d0 20 72 65 6d 6f 76 65 20 74 68 65 20 24 7b 6f 62   remove the ${ob
214e0 6a 64 69 72 7d 73 20 69 6e 20 74 68 65 20 64 69  jdir}s in the di
214f0 72 65 63 74 6f 72 69 65 73 20 77 68 65 72 65 20  rectories where 
21500 77 65 20 64 65 6c 65 74 65 64 20 66 69 6c 65 73  we deleted files
21510 0a 20 20 20 20 66 6f 72 20 64 69 72 20 69 6e 20  .    for dir in 
21520 24 72 6d 64 69 72 73 3b 20 64 6f 0a 20 20 20 20  $rmdirs; do.    
21530 20 20 69 66 20 74 65 73 74 20 2d 64 20 22 24 64    if test -d "$d
21540 69 72 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77  ir"; then..$show
21550 20 22 72 6d 64 69 72 20 24 64 69 72 22 0a 09 24   "rmdir $dir"..$
21560 72 75 6e 20 72 6d 64 69 72 20 24 64 69 72 20 3e  run rmdir $dir >
21570 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 20  /dev/null 2>&1. 
21580 20 20 20 20 20 66 69 0a 20 20 20 20 64 6f 6e 65       fi.    done
21590 0a 0a 20 20 20 20 65 78 69 74 20 24 65 78 69 74  ..    exit $exit
215a0 5f 73 74 61 74 75 73 0a 20 20 20 20 3b 3b 0a 0a  _status.    ;;..
215b0 20 20 22 22 29 0a 20 20 20 20 24 65 63 68 6f 20    "").    $echo 
215c0 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20  "$modename: you 
215d0 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 4d  must specify a M
215e0 4f 44 45 22 20 31 3e 26 32 0a 20 20 20 20 24 65  ODE" 1>&2.    $e
215f0 63 68 6f 20 22 24 67 65 6e 65 72 69 63 5f 68 65  cho "$generic_he
21600 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65 78 69  lp" 1>&2.    exi
21610 74 20 31 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61  t 1.    ;;.  esa
21620 63 0a 0a 20 20 69 66 20 74 65 73 74 20 2d 7a 20  c..  if test -z 
21630 22 24 65 78 65 63 5f 63 6d 64 22 3b 20 74 68 65  "$exec_cmd"; the
21640 6e 0a 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  n.    $echo "$mo
21650 64 65 6e 61 6d 65 3a 20 69 6e 76 61 6c 69 64 20  dename: invalid 
21660 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65 20 5c  operation mode \
21670 60 24 6d 6f 64 65 27 22 20 31 3e 26 32 0a 20 20  `$mode'" 1>&2.  
21680 20 20 24 65 63 68 6f 20 22 24 67 65 6e 65 72 69    $echo "$generi
21690 63 5f 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20  c_help" 1>&2.   
216a0 20 65 78 69 74 20 31 0a 20 20 66 69 0a 66 69 20   exit 1.  fi.fi 
216b0 23 20 74 65 73 74 20 2d 7a 20 22 24 73 68 6f 77  # test -z "$show
216c0 5f 68 65 6c 70 22 0a 0a 69 66 20 74 65 73 74 20  _help"..if test 
216d0 2d 6e 20 22 24 65 78 65 63 5f 63 6d 64 22 3b 20  -n "$exec_cmd"; 
216e0 74 68 65 6e 0a 20 20 65 76 61 6c 20 65 78 65 63  then.  eval exec
216f0 20 24 65 78 65 63 5f 63 6d 64 0a 20 20 65 78 69   $exec_cmd.  exi
21700 74 20 31 0a 66 69 0a 0a 23 20 57 65 20 6e 65 65  t 1.fi..# We nee
21710 64 20 74 6f 20 64 69 73 70 6c 61 79 20 68 65 6c  d to display hel
21720 70 20 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68  p for each of th
21730 65 20 6d 6f 64 65 73 2e 0a 63 61 73 65 20 24 6d  e modes..case $m
21740 6f 64 65 20 69 6e 0a 22 22 29 20 24 65 63 68 6f  ode in."") $echo
21750 20 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65   \."Usage: $mode
21760 6e 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e  name [OPTION]...
21770 20 5b 4d 4f 44 45 2d 41 52 47 5d 2e 2e 2e 0a 0a   [MODE-ARG].....
21780 50 72 6f 76 69 64 65 20 67 65 6e 65 72 61 6c 69  Provide generali
21790 7a 65 64 20 6c 69 62 72 61 72 79 2d 62 75 69 6c  zed library-buil
217a0 64 69 6e 67 20 73 75 70 70 6f 72 74 20 73 65 72  ding support ser
217b0 76 69 63 65 73 2e 0a 0a 20 20 20 20 2d 2d 63 6f  vices...    --co
217c0 6e 66 69 67 20 20 20 20 20 20 20 20 20 20 73 68  nfig          sh
217d0 6f 77 20 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61  ow all configura
217e0 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 0a 20  tion variables. 
217f0 20 20 20 2d 2d 64 65 62 75 67 20 20 20 20 20 20     --debug      
21800 20 20 20 20 20 65 6e 61 62 6c 65 20 76 65 72 62       enable verb
21810 6f 73 65 20 73 68 65 6c 6c 20 74 72 61 63 69 6e  ose shell tracin
21820 67 0a 2d 6e 2c 20 2d 2d 64 72 79 2d 72 75 6e 20  g.-n, --dry-run 
21830 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20          display 
21840 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68 6f 75 74  commands without
21850 20 6d 6f 64 69 66 79 69 6e 67 20 61 6e 79 20 66   modifying any f
21860 69 6c 65 73 0a 20 20 20 20 2d 2d 66 65 61 74 75  iles.    --featu
21870 72 65 73 20 20 20 20 20 20 20 20 64 69 73 70 6c  res        displ
21880 61 79 20 62 61 73 69 63 20 63 6f 6e 66 69 67 75  ay basic configu
21890 72 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69  ration informati
218a0 6f 6e 20 61 6e 64 20 65 78 69 74 0a 20 20 20 20  on and exit.    
218b0 2d 2d 66 69 6e 69 73 68 20 20 20 20 20 20 20 20  --finish        
218c0 20 20 73 61 6d 65 20 61 73 20 5c 60 2d 2d 6d 6f    same as \`--mo
218d0 64 65 3d 66 69 6e 69 73 68 27 0a 20 20 20 20 2d  de=finish'.    -
218e0 2d 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20  -help           
218f0 20 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 65   display this he
21900 6c 70 20 6d 65 73 73 61 67 65 20 61 6e 64 20 65  lp message and e
21910 78 69 74 0a 20 20 20 20 2d 2d 6d 6f 64 65 3d 4d  xit.    --mode=M
21920 4f 44 45 20 20 20 20 20 20 20 75 73 65 20 6f 70  ODE       use op
21930 65 72 61 74 69 6f 6e 20 6d 6f 64 65 20 4d 4f 44  eration mode MOD
21940 45 20 5b 64 65 66 61 75 6c 74 3d 69 6e 66 65 72  E [default=infer
21950 72 65 64 20 66 72 6f 6d 20 4d 4f 44 45 2d 41 52  red from MODE-AR
21960 47 53 5d 0a 20 20 20 20 2d 2d 71 75 69 65 74 20  GS].    --quiet 
21970 20 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 61            same a
21980 73 20 5c 60 2d 2d 73 69 6c 65 6e 74 27 0a 20 20  s \`--silent'.  
21990 20 20 2d 2d 73 69 6c 65 6e 74 20 20 20 20 20 20    --silent      
219a0 20 20 20 20 64 6f 6e 27 74 20 70 72 69 6e 74 20      don't print 
219b0 69 6e 66 6f 72 6d 61 74 69 6f 6e 61 6c 20 6d 65  informational me
219c0 73 73 61 67 65 73 0a 20 20 20 20 2d 2d 76 65 72  ssages.    --ver
219d0 73 69 6f 6e 20 20 20 20 20 20 20 20 20 70 72 69  sion         pri
219e0 6e 74 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72  nt version infor
219f0 6d 61 74 69 6f 6e 0a 0a 4d 4f 44 45 20 6d 75 73  mation..MODE mus
21a00 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20  t be one of the 
21a10 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20  following:..    
21a20 20 20 63 6c 65 61 6e 20 20 20 20 20 20 20 20 20    clean         
21a30 20 20 72 65 6d 6f 76 65 20 66 69 6c 65 73 20 66    remove files f
21a40 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20 64 69  rom the build di
21a50 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 63 6f  rectory.      co
21a60 6d 70 69 6c 65 20 20 20 20 20 20 20 20 20 63 6f  mpile         co
21a70 6d 70 69 6c 65 20 61 20 73 6f 75 72 63 65 20 66  mpile a source f
21a80 69 6c 65 20 69 6e 74 6f 20 61 20 6c 69 62 74 6f  ile into a libto
21a90 6f 6c 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20  ol object.      
21aa0 65 78 65 63 75 74 65 20 20 20 20 20 20 20 20 20  execute         
21ab0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65  automatically se
21ac0 74 20 6c 69 62 72 61 72 79 20 70 61 74 68 2c 20  t library path, 
21ad0 74 68 65 6e 20 72 75 6e 20 61 20 70 72 6f 67 72  then run a progr
21ae0 61 6d 0a 20 20 20 20 20 20 66 69 6e 69 73 68 20  am.      finish 
21af0 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74           complet
21b00 65 20 74 68 65 20 69 6e 73 74 61 6c 6c 61 74 69  e the installati
21b10 6f 6e 20 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69  on of libtool li
21b20 62 72 61 72 69 65 73 0a 20 20 20 20 20 20 69 6e  braries.      in
21b30 73 74 61 6c 6c 20 20 20 20 20 20 20 20 20 69 6e  stall         in
21b40 73 74 61 6c 6c 20 6c 69 62 72 61 72 69 65 73 20  stall libraries 
21b50 6f 72 20 65 78 65 63 75 74 61 62 6c 65 73 0a 20  or executables. 
21b60 20 20 20 20 20 6c 69 6e 6b 20 20 20 20 20 20 20       link       
21b70 20 20 20 20 20 63 72 65 61 74 65 20 61 20 6c 69       create a li
21b80 62 72 61 72 79 20 6f 72 20 61 6e 20 65 78 65 63  brary or an exec
21b90 75 74 61 62 6c 65 0a 20 20 20 20 20 20 75 6e 69  utable.      uni
21ba0 6e 73 74 61 6c 6c 20 20 20 20 20 20 20 72 65 6d  nstall       rem
21bb0 6f 76 65 20 6c 69 62 72 61 72 69 65 73 20 66 72  ove libraries fr
21bc0 6f 6d 20 61 6e 20 69 6e 73 74 61 6c 6c 65 64 20  om an installed 
21bd0 64 69 72 65 63 74 6f 72 79 0a 0a 4d 4f 44 45 2d  directory..MODE-
21be0 41 52 47 53 20 76 61 72 79 20 64 65 70 65 6e 64  ARGS vary depend
21bf0 69 6e 67 20 6f 6e 20 74 68 65 20 4d 4f 44 45 2e  ing on the MODE.
21c00 20 20 54 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d    Try \`$modenam
21c10 65 20 2d 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d  e --help --mode=
21c20 4d 4f 44 45 27 20 66 6f 72 0a 61 20 6d 6f 72 65  MODE' for.a more
21c30 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69   detailed descri
21c40 70 74 69 6f 6e 20 6f 66 20 4d 4f 44 45 2e 22 0a  ption of MODE.".
21c50 20 20 65 78 69 74 20 30 0a 20 20 3b 3b 0a 0a 63    exit 0.  ;;..c
21c60 6c 65 61 6e 29 0a 20 20 24 65 63 68 6f 20 5c 0a  lean).  $echo \.
21c70 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d  "Usage: $modenam
21c80 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d  e [OPTION]... --
21c90 6d 6f 64 65 3d 63 6c 65 61 6e 20 52 4d 20 5b 52  mode=clean RM [R
21ca0 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 46 49 4c  M-OPTION]... FIL
21cb0 45 2e 2e 2e 0a 0a 52 65 6d 6f 76 65 20 66 69 6c  E.....Remove fil
21cc0 65 73 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c  es from the buil
21cd0 64 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 52 4d  d directory...RM
21ce0 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20   is the name of 
21cf0 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 75  the program to u
21d00 73 65 20 74 6f 20 64 65 6c 65 74 65 20 66 69 6c  se to delete fil
21d10 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  es associated wi
21d20 74 68 20 65 61 63 68 20 46 49 4c 45 0a 28 74 79  th each FILE.(ty
21d30 70 69 63 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72  pically \`/bin/r
21d40 6d 27 29 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e 53  m').  RM-OPTIONS
21d50 20 61 72 65 20 6f 70 74 69 6f 6e 73 20 28 73 75   are options (su
21d60 63 68 20 61 73 20 5c 60 2d 66 27 29 20 74 6f 20  ch as \`-f') to 
21d70 62 65 20 70 61 73 73 65 64 0a 74 6f 20 52 4d 2e  be passed.to RM.
21d80 0a 0a 49 66 20 46 49 4c 45 20 69 73 20 61 20 6c  ..If FILE is a l
21d90 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2c 20  ibtool library, 
21da0 6f 62 6a 65 63 74 20 6f 72 20 70 72 6f 67 72 61  object or progra
21db0 6d 2c 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73  m, all the files
21dc0 20 61 73 73 6f 63 69 61 74 65 64 0a 77 69 74 68   associated.with
21dd0 20 69 74 20 61 72 65 20 64 65 6c 65 74 65 64 2e   it are deleted.
21de0 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 6c 79   Otherwise, only
21df0 20 46 49 4c 45 20 69 74 73 65 6c 66 20 69 73 20   FILE itself is 
21e00 64 65 6c 65 74 65 64 20 75 73 69 6e 67 20 52 4d  deleted using RM
21e10 2e 22 0a 20 20 3b 3b 0a 0a 63 6f 6d 70 69 6c 65  .".  ;;..compile
21e20 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73 61  ).  $echo \."Usa
21e30 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f  ge: $modename [O
21e40 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65  PTION]... --mode
21e50 3d 63 6f 6d 70 69 6c 65 20 43 4f 4d 50 49 4c 45  =compile COMPILE
21e60 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 20 53 4f 55 52  -COMMAND... SOUR
21e70 43 45 46 49 4c 45 0a 0a 43 6f 6d 70 69 6c 65 20  CEFILE..Compile 
21e80 61 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 6e  a source file in
21e90 74 6f 20 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62  to a libtool lib
21ea0 72 61 72 79 20 6f 62 6a 65 63 74 2e 0a 0a 54 68  rary object...Th
21eb0 69 73 20 6d 6f 64 65 20 61 63 63 65 70 74 73 20  is mode accepts 
21ec0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 64  the following ad
21ed0 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73  ditional options
21ee0 3a 0a 0a 20 20 2d 6f 20 4f 55 54 50 55 54 2d 46  :..  -o OUTPUT-F
21ef0 49 4c 45 20 20 20 20 73 65 74 20 74 68 65 20 6f  ILE    set the o
21f00 75 74 70 75 74 20 66 69 6c 65 20 6e 61 6d 65 20  utput file name 
21f10 74 6f 20 4f 55 54 50 55 54 2d 46 49 4c 45 0a 20  to OUTPUT-FILE. 
21f20 20 2d 70 72 65 66 65 72 2d 70 69 63 20 20 20 20   -prefer-pic    
21f30 20 20 20 74 72 79 20 74 6f 20 62 75 69 6c 64 69     try to buildi
21f40 6e 67 20 50 49 43 20 6f 62 6a 65 63 74 73 20 6f  ng PIC objects o
21f50 6e 6c 79 0a 20 20 2d 70 72 65 66 65 72 2d 6e 6f  nly.  -prefer-no
21f60 6e 2d 70 69 63 20 20 20 74 72 79 20 74 6f 20 62  n-pic   try to b
21f70 75 69 6c 64 69 6e 67 20 6e 6f 6e 2d 50 49 43 20  uilding non-PIC 
21f80 6f 62 6a 65 63 74 73 20 6f 6e 6c 79 0a 20 20 2d  objects only.  -
21f90 73 74 61 74 69 63 20 20 20 20 20 20 20 20 20 20  static          
21fa0 20 61 6c 77 61 79 73 20 62 75 69 6c 64 20 61 20   always build a 
21fb0 5c 60 2e 6f 27 20 66 69 6c 65 20 73 75 69 74 61  \`.o' file suita
21fc0 62 6c 65 20 66 6f 72 20 73 74 61 74 69 63 20 6c  ble for static l
21fd0 69 6e 6b 69 6e 67 0a 0a 43 4f 4d 50 49 4c 45 2d  inking..COMPILE-
21fe0 43 4f 4d 4d 41 4e 44 20 69 73 20 61 20 63 6f 6d  COMMAND is a com
21ff0 6d 61 6e 64 20 74 6f 20 62 65 20 75 73 65 64 20  mand to be used 
22000 69 6e 20 63 72 65 61 74 69 6e 67 20 61 20 5c 60  in creating a \`
22010 73 74 61 6e 64 61 72 64 27 20 6f 62 6a 65 63 74  standard' object
22020 20 66 69 6c 65 0a 66 72 6f 6d 20 74 68 65 20 67   file.from the g
22030 69 76 65 6e 20 53 4f 55 52 43 45 46 49 4c 45 2e  iven SOURCEFILE.
22040 0a 0a 54 68 65 20 6f 75 74 70 75 74 20 66 69 6c  ..The output fil
22050 65 20 6e 61 6d 65 20 69 73 20 64 65 74 65 72 6d  e name is determ
22060 69 6e 65 64 20 62 79 20 72 65 6d 6f 76 69 6e 67  ined by removing
22070 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63   the directory c
22080 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f 6d 0a 53 4f  omponent from.SO
22090 55 52 43 45 46 49 4c 45 2c 20 74 68 65 6e 20 73  URCEFILE, then s
220a0 75 62 73 74 69 74 75 74 69 6e 67 20 74 68 65 20  ubstituting the 
220b0 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 73 75  C source code su
220c0 66 66 69 78 20 5c 60 2e 63 27 20 77 69 74 68 20  ffix \`.c' with 
220d0 74 68 65 0a 6c 69 62 72 61 72 79 20 6f 62 6a 65  the.library obje
220e0 63 74 20 73 75 66 66 69 78 2c 20 5c 60 2e 6c 6f  ct suffix, \`.lo
220f0 27 2e 22 0a 20 20 3b 3b 0a 0a 65 78 65 63 75 74  '.".  ;;..execut
22100 65 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73  e).  $echo \."Us
22110 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b  age: $modename [
22120 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64  OPTION]... --mod
22130 65 3d 65 78 65 63 75 74 65 20 43 4f 4d 4d 41 4e  e=execute COMMAN
22140 44 20 5b 41 52 47 53 5d 2e 2e 2e 0a 0a 41 75 74  D [ARGS].....Aut
22150 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 6c  omatically set l
22160 69 62 72 61 72 79 20 70 61 74 68 2c 20 74 68 65  ibrary path, the
22170 6e 20 72 75 6e 20 61 20 70 72 6f 67 72 61 6d 2e  n run a program.
22180 0a 0a 54 68 69 73 20 6d 6f 64 65 20 61 63 63 65  ..This mode acce
22190 70 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  pts the followin
221a0 67 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74  g additional opt
221b0 69 6f 6e 73 3a 0a 0a 20 20 2d 64 6c 6f 70 65 6e  ions:..  -dlopen
221c0 20 46 49 4c 45 20 20 20 20 20 20 61 64 64 20 74   FILE      add t
221d0 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e  he directory con
221e0 74 61 69 6e 69 6e 67 20 46 49 4c 45 20 74 6f 20  taining FILE to 
221f0 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  the library path
22200 0a 0a 54 68 69 73 20 6d 6f 64 65 20 73 65 74 73  ..This mode sets
22210 20 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74   the library pat
22220 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  h environment va
22230 72 69 61 62 6c 65 20 61 63 63 6f 72 64 69 6e 67  riable according
22240 20 74 6f 20 5c 60 2d 64 6c 6f 70 65 6e 27 0a 66   to \`-dlopen'.f
22250 6c 61 67 73 2e 0a 0a 49 66 20 61 6e 79 20 6f 66  lags...If any of
22260 20 74 68 65 20 41 52 47 53 20 61 72 65 20 6c 69   the ARGS are li
22270 62 74 6f 6f 6c 20 65 78 65 63 75 74 61 62 6c 65  btool executable
22280 20 77 72 61 70 70 65 72 73 2c 20 74 68 65 6e 20   wrappers, then 
22290 74 68 65 79 20 61 72 65 20 74 72 61 6e 73 6c 61  they are transla
222a0 74 65 64 0a 69 6e 74 6f 20 74 68 65 69 72 20 63  ted.into their c
222b0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 75 6e 69  orresponding uni
222c0 6e 73 74 61 6c 6c 65 64 20 62 69 6e 61 72 79 2c  nstalled binary,
222d0 20 61 6e 64 20 61 6e 79 20 6f 66 20 74 68 65 69   and any of thei
222e0 72 20 72 65 71 75 69 72 65 64 20 6c 69 62 72 61  r required libra
222f0 72 79 0a 64 69 72 65 63 74 6f 72 69 65 73 20 61  ry.directories a
22300 72 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  re added to the 
22310 6c 69 62 72 61 72 79 20 70 61 74 68 2e 0a 0a 54  library path...T
22320 68 65 6e 2c 20 43 4f 4d 4d 41 4e 44 20 69 73 20  hen, COMMAND is 
22330 65 78 65 63 75 74 65 64 2c 20 77 69 74 68 20 41  executed, with A
22340 52 47 53 20 61 73 20 61 72 67 75 6d 65 6e 74 73  RGS as arguments
22350 2e 22 0a 20 20 3b 3b 0a 0a 66 69 6e 69 73 68 29  .".  ;;..finish)
22360 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55 73 61 67  .  $echo \."Usag
22370 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20 5b 4f 50  e: $modename [OP
22380 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f 64 65 3d  TION]... --mode=
22390 66 69 6e 69 73 68 20 5b 4c 49 42 44 49 52 5d 2e  finish [LIBDIR].
223a0 2e 2e 0a 0a 43 6f 6d 70 6c 65 74 65 20 74 68 65  ....Complete the
223b0 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66   installation of
223c0 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
223d0 65 73 2e 0a 0a 45 61 63 68 20 4c 49 42 44 49 52  es...Each LIBDIR
223e0 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20   is a directory 
223f0 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 6c 69  that contains li
22400 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 2e  btool libraries.
22410 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 74  ..The commands t
22420 68 61 74 20 74 68 69 73 20 6d 6f 64 65 20 65 78  hat this mode ex
22430 65 63 75 74 65 73 20 6d 61 79 20 72 65 71 75 69  ecutes may requi
22440 72 65 20 73 75 70 65 72 75 73 65 72 20 70 72 69  re superuser pri
22450 76 69 6c 65 67 65 73 2e 20 20 55 73 65 0a 74 68  vileges.  Use.th
22460 65 20 5c 60 2d 2d 64 72 79 2d 72 75 6e 27 20 6f  e \`--dry-run' o
22470 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 6a 75 73  ption if you jus
22480 74 20 77 61 6e 74 20 74 6f 20 73 65 65 20 77 68  t want to see wh
22490 61 74 20 77 6f 75 6c 64 20 62 65 20 65 78 65 63  at would be exec
224a0 75 74 65 64 2e 22 0a 20 20 3b 3b 0a 0a 69 6e 73  uted.".  ;;..ins
224b0 74 61 6c 6c 29 0a 20 20 24 65 63 68 6f 20 5c 0a  tall).  $echo \.
224c0 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d  "Usage: $modenam
224d0 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d  e [OPTION]... --
224e0 6d 6f 64 65 3d 69 6e 73 74 61 6c 6c 20 49 4e 53  mode=install INS
224f0 54 41 4c 4c 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 0a  TALL-COMMAND....
22500 0a 49 6e 73 74 61 6c 6c 20 65 78 65 63 75 74 61  .Install executa
22510 62 6c 65 73 20 6f 72 20 6c 69 62 72 61 72 69 65  bles or librarie
22520 73 2e 0a 0a 49 4e 53 54 41 4c 4c 2d 43 4f 4d 4d  s...INSTALL-COMM
22530 41 4e 44 20 69 73 20 74 68 65 20 69 6e 73 74 61  AND is the insta
22540 6c 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2e  llation command.
22550 20 20 54 68 65 20 66 69 72 73 74 20 63 6f 6d 70    The first comp
22560 6f 6e 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 0a  onent should be.
22570 65 69 74 68 65 72 20 74 68 65 20 5c 60 69 6e 73  either the \`ins
22580 74 61 6c 6c 27 20 6f 72 20 5c 60 63 70 27 20 70  tall' or \`cp' p
22590 72 6f 67 72 61 6d 2e 0a 0a 54 68 65 20 72 65 73  rogram...The res
225a0 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 6e 65  t of the compone
225b0 6e 74 73 20 61 72 65 20 69 6e 74 65 72 70 72 65  nts are interpre
225c0 74 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73  ted as arguments
225d0 20 74 6f 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64   to that command
225e0 20 28 6f 6e 6c 79 0a 42 53 44 2d 63 6f 6d 70 61   (only.BSD-compa
225f0 74 69 62 6c 65 20 69 6e 73 74 61 6c 6c 20 6f 70  tible install op
22600 74 69 6f 6e 73 20 61 72 65 20 72 65 63 6f 67 6e  tions are recogn
22610 69 7a 65 64 29 2e 22 0a 20 20 3b 3b 0a 0a 6c 69  ized).".  ;;..li
22620 6e 6b 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22 55  nk).  $echo \."U
22630 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65 20  sage: $modename 
22640 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d 6f  [OPTION]... --mo
22650 64 65 3d 6c 69 6e 6b 20 4c 49 4e 4b 2d 43 4f 4d  de=link LINK-COM
22660 4d 41 4e 44 2e 2e 2e 0a 0a 4c 69 6e 6b 20 6f 62  MAND.....Link ob
22670 6a 65 63 74 20 66 69 6c 65 73 20 6f 72 20 6c 69  ject files or li
22680 62 72 61 72 69 65 73 20 74 6f 67 65 74 68 65 72  braries together
22690 20 74 6f 20 66 6f 72 6d 20 61 6e 6f 74 68 65 72   to form another
226a0 20 6c 69 62 72 61 72 79 2c 20 6f 72 20 74 6f 0a   library, or to.
226b0 63 72 65 61 74 65 20 61 6e 20 65 78 65 63 75 74  create an execut
226c0 61 62 6c 65 20 70 72 6f 67 72 61 6d 2e 0a 0a 4c  able program...L
226d0 49 4e 4b 2d 43 4f 4d 4d 41 4e 44 20 69 73 20 61  INK-COMMAND is a
226e0 20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e 67 20 74   command using t
226f0 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 74 68  he C compiler th
22700 61 74 20 79 6f 75 20 77 6f 75 6c 64 20 75 73 65  at you would use
22710 20 74 6f 20 63 72 65 61 74 65 0a 61 20 70 72 6f   to create.a pro
22720 67 72 61 6d 20 66 72 6f 6d 20 73 65 76 65 72 61  gram from severa
22730 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a  l object files..
22740 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63  .The following c
22750 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 4c 49 4e  omponents of LIN
22760 4b 2d 43 4f 4d 4d 41 4e 44 20 61 72 65 20 74 72  K-COMMAND are tr
22770 65 61 74 65 64 20 73 70 65 63 69 61 6c 6c 79 3a  eated specially:
22780 0a 0a 20 20 2d 61 6c 6c 2d 73 74 61 74 69 63 20  ..  -all-static 
22790 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 64 6f 20        do not do 
227a0 61 6e 79 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b  any dynamic link
227b0 69 6e 67 20 61 74 20 61 6c 6c 0a 20 20 2d 61 76  ing at all.  -av
227c0 6f 69 64 2d 76 65 72 73 69 6f 6e 20 20 20 20 64  oid-version    d
227d0 6f 20 6e 6f 74 20 61 64 64 20 61 20 76 65 72 73  o not add a vers
227e0 69 6f 6e 20 73 75 66 66 69 78 20 69 66 20 70 6f  ion suffix if po
227f0 73 73 69 62 6c 65 0a 20 20 2d 64 6c 6f 70 65 6e  ssible.  -dlopen
22800 20 46 49 4c 45 20 20 20 20 20 20 5c 60 2d 64 6c   FILE      \`-dl
22810 70 72 65 6f 70 65 6e 27 20 46 49 4c 45 20 69 66  preopen' FILE if
22820 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 6c   it cannot be dl
22830 6f 70 65 6e 65 64 20 61 74 20 72 75 6e 74 69 6d  opened at runtim
22840 65 0a 20 20 2d 64 6c 70 72 65 6f 70 65 6e 20 46  e.  -dlpreopen F
22850 49 4c 45 20 20 20 6c 69 6e 6b 20 69 6e 20 46 49  ILE   link in FI
22860 4c 45 20 61 6e 64 20 61 64 64 20 69 74 73 20 73  LE and add its s
22870 79 6d 62 6f 6c 73 20 74 6f 20 6c 74 5f 70 72 65  ymbols to lt_pre
22880 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 0a 20  loaded_symbols. 
22890 20 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63   -export-dynamic
228a0 20 20 20 61 6c 6c 6f 77 20 73 79 6d 62 6f 6c 73     allow symbols
228b0 20 66 72 6f 6d 20 4f 55 54 50 55 54 2d 46 49 4c   from OUTPUT-FIL
228c0 45 20 74 6f 20 62 65 20 72 65 73 6f 6c 76 65 64  E to be resolved
228d0 20 77 69 74 68 20 64 6c 73 79 6d 28 33 29 0a 20   with dlsym(3). 
228e0 20 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73   -export-symbols
228f0 20 53 59 4d 46 49 4c 45 0a 09 09 20 20 20 20 74   SYMFILE...    t
22900 72 79 20 74 6f 20 65 78 70 6f 72 74 20 6f 6e 6c  ry to export onl
22910 79 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6c 69  y the symbols li
22920 73 74 65 64 20 69 6e 20 53 59 4d 46 49 4c 45 0a  sted in SYMFILE.
22930 20 20 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c    -export-symbol
22940 73 2d 72 65 67 65 78 20 52 45 47 45 58 0a 09 09  s-regex REGEX...
22950 20 20 20 20 74 72 79 20 74 6f 20 65 78 70 6f 72      try to expor
22960 74 20 6f 6e 6c 79 20 74 68 65 20 73 79 6d 62 6f  t only the symbo
22970 6c 73 20 6d 61 74 63 68 69 6e 67 20 52 45 47 45  ls matching REGE
22980 58 0a 20 20 2d 4c 4c 49 42 44 49 52 20 20 20 20  X.  -LLIBDIR    
22990 20 20 20 20 20 20 73 65 61 72 63 68 20 4c 49 42        search LIB
229a0 44 49 52 20 66 6f 72 20 72 65 71 75 69 72 65 64  DIR for required
229b0 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61   installed libra
229c0 72 69 65 73 0a 20 20 2d 6c 4e 41 4d 45 20 20 20  ries.  -lNAME   
229d0 20 20 20 20 20 20 20 20 20 4f 55 54 50 55 54 2d           OUTPUT-
229e0 46 49 4c 45 20 72 65 71 75 69 72 65 73 20 74 68  FILE requires th
229f0 65 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72  e installed libr
22a00 61 72 79 20 6c 69 62 4e 41 4d 45 0a 20 20 2d 6d  ary libNAME.  -m
22a10 6f 64 75 6c 65 20 20 20 20 20 20 20 20 20 20 20  odule           
22a20 62 75 69 6c 64 20 61 20 6c 69 62 72 61 72 79 20  build a library 
22a30 74 68 61 74 20 63 61 6e 20 64 6c 6f 70 65 6e 65  that can dlopene
22a40 64 0a 20 20 2d 6e 6f 2d 66 61 73 74 2d 69 6e 73  d.  -no-fast-ins
22a50 74 61 6c 6c 20 20 64 69 73 61 62 6c 65 20 74 68  tall  disable th
22a60 65 20 66 61 73 74 2d 69 6e 73 74 61 6c 6c 20 6d  e fast-install m
22a70 6f 64 65 0a 20 20 2d 6e 6f 2d 69 6e 73 74 61 6c  ode.  -no-instal
22a80 6c 20 20 20 20 20 20 20 6c 69 6e 6b 20 61 20 6e  l       link a n
22a90 6f 74 2d 69 6e 73 74 61 6c 6c 61 62 6c 65 20 65  ot-installable e
22aa0 78 65 63 75 74 61 62 6c 65 0a 20 20 2d 6e 6f 2d  xecutable.  -no-
22ab0 75 6e 64 65 66 69 6e 65 64 20 20 20 20 20 64 65  undefined     de
22ac0 63 6c 61 72 65 20 74 68 61 74 20 61 20 6c 69 62  clare that a lib
22ad0 72 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 72 65  rary does not re
22ae0 66 65 72 20 74 6f 20 65 78 74 65 72 6e 61 6c 20  fer to external 
22af0 73 79 6d 62 6f 6c 73 0a 20 20 2d 6f 20 4f 55 54  symbols.  -o OUT
22b00 50 55 54 2d 46 49 4c 45 20 20 20 20 63 72 65 61  PUT-FILE    crea
22b10 74 65 20 4f 55 54 50 55 54 2d 46 49 4c 45 20 66  te OUTPUT-FILE f
22b20 72 6f 6d 20 74 68 65 20 73 70 65 63 69 66 69 65  rom the specifie
22b30 64 20 6f 62 6a 65 63 74 73 0a 20 20 2d 72 65 6c  d objects.  -rel
22b40 65 61 73 65 20 52 45 4c 45 41 53 45 20 20 73 70  ease RELEASE  sp
22b50 65 63 69 66 79 20 70 61 63 6b 61 67 65 20 72 65  ecify package re
22b60 6c 65 61 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f  lease informatio
22b70 6e 0a 20 20 2d 72 70 61 74 68 20 4c 49 42 44 49  n.  -rpath LIBDI
22b80 52 20 20 20 20 20 74 68 65 20 63 72 65 61 74 65  R     the create
22b90 64 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 65  d library will e
22ba0 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 69 6e 73  ventually be ins
22bb0 74 61 6c 6c 65 64 20 69 6e 20 4c 49 42 44 49 52  talled in LIBDIR
22bc0 0a 20 20 2d 52 5b 20 5d 4c 49 42 44 49 52 20 20  .  -R[ ]LIBDIR  
22bd0 20 20 20 20 20 61 64 64 20 4c 49 42 44 49 52 20       add LIBDIR 
22be0 74 6f 20 74 68 65 20 72 75 6e 74 69 6d 65 20 70  to the runtime p
22bf0 61 74 68 20 6f 66 20 70 72 6f 67 72 61 6d 73 20  ath of programs 
22c00 61 6e 64 20 6c 69 62 72 61 72 69 65 73 0a 20 20  and libraries.  
22c10 2d 73 74 61 74 69 63 20 20 20 20 20 20 20 20 20  -static         
22c20 20 20 64 6f 20 6e 6f 74 20 64 6f 20 61 6e 79 20    do not do any 
22c30 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 69 6e 67 20  dynamic linking 
22c40 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61  of libtool libra
22c50 72 69 65 73 0a 20 20 2d 76 65 72 73 69 6f 6e 2d  ries.  -version-
22c60 69 6e 66 6f 20 43 55 52 52 45 4e 54 5b 3a 52 45  info CURRENT[:RE
22c70 56 49 53 49 4f 4e 5b 3a 41 47 45 5d 5d 0a 09 09  VISION[:AGE]]...
22c80 20 20 20 20 73 70 65 63 69 66 79 20 6c 69 62 72      specify libr
22c90 61 72 79 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  ary version info
22ca0 20 5b 65 61 63 68 20 76 61 72 69 61 62 6c 65 20   [each variable 
22cb0 64 65 66 61 75 6c 74 73 20 74 6f 20 30 5d 0a 0a  defaults to 0]..
22cc0 41 6c 6c 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  All other option
22cd0 73 20 28 61 72 67 75 6d 65 6e 74 73 20 62 65 67  s (arguments beg
22ce0 69 6e 6e 69 6e 67 20 77 69 74 68 20 5c 60 2d 27  inning with \`-'
22cf0 29 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 0a  ) are ignored...
22d00 45 76 65 72 79 20 6f 74 68 65 72 20 61 72 67 75  Every other argu
22d10 6d 65 6e 74 20 69 73 20 74 72 65 61 74 65 64 20  ment is treated 
22d20 61 73 20 61 20 66 69 6c 65 6e 61 6d 65 2e 20 20  as a filename.  
22d30 46 69 6c 65 73 20 65 6e 64 69 6e 67 20 69 6e 20  Files ending in 
22d40 5c 60 2e 6c 61 27 20 61 72 65 0a 74 72 65 61 74  \`.la' are.treat
22d50 65 64 20 61 73 20 75 6e 69 6e 73 74 61 6c 6c 65  ed as uninstalle
22d60 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  d libtool librar
22d70 69 65 73 2c 20 6f 74 68 65 72 20 66 69 6c 65 73  ies, other files
22d80 20 61 72 65 20 73 74 61 6e 64 61 72 64 20 6f 72   are standard or
22d90 20 6c 69 62 72 61 72 79 0a 6f 62 6a 65 63 74 20   library.object 
22da0 66 69 6c 65 73 2e 0a 0a 49 66 20 74 68 65 20 4f  files...If the O
22db0 55 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73 20  UTPUT-FILE ends 
22dc0 69 6e 20 5c 60 2e 6c 61 27 2c 20 74 68 65 6e 20  in \`.la', then 
22dd0 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  a libtool librar
22de0 79 20 69 73 20 63 72 65 61 74 65 64 2c 0a 6f 6e  y is created,.on
22df0 6c 79 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63  ly library objec
22e00 74 73 20 28 5c 60 2e 6c 6f 27 20 66 69 6c 65 73  ts (\`.lo' files
22e10 29 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69  ) may be specifi
22e20 65 64 2c 20 61 6e 64 20 5c 60 2d 72 70 61 74 68  ed, and \`-rpath
22e30 27 20 69 73 0a 72 65 71 75 69 72 65 64 2c 20 65  ' is.required, e
22e40 78 63 65 70 74 20 77 68 65 6e 20 63 72 65 61 74  xcept when creat
22e50 69 6e 67 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63  ing a convenienc
22e60 65 20 6c 69 62 72 61 72 79 2e 0a 0a 49 66 20 4f  e library...If O
22e70 55 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73 20  UTPUT-FILE ends 
22e80 69 6e 20 5c 60 2e 61 27 20 6f 72 20 5c 60 2e 6c  in \`.a' or \`.l
22e90 69 62 27 2c 20 74 68 65 6e 20 61 20 73 74 61 6e  ib', then a stan
22ea0 64 61 72 64 20 6c 69 62 72 61 72 79 20 69 73 20  dard library is 
22eb0 63 72 65 61 74 65 64 0a 75 73 69 6e 67 20 5c 60  created.using \`
22ec0 61 72 27 20 61 6e 64 20 5c 60 72 61 6e 6c 69 62  ar' and \`ranlib
22ed0 27 2c 20 6f 72 20 6f 6e 20 57 69 6e 64 6f 77 73  ', or on Windows
22ee0 20 75 73 69 6e 67 20 5c 60 6c 69 62 27 2e 0a 0a   using \`lib'...
22ef0 49 66 20 4f 55 54 50 55 54 2d 46 49 4c 45 20 65  If OUTPUT-FILE e
22f00 6e 64 73 20 69 6e 20 5c 60 2e 6c 6f 27 20 6f 72  nds in \`.lo' or
22f10 20 5c 60 2e 24 7b 6f 62 6a 65 78 74 7d 27 2c 20   \`.${objext}', 
22f20 74 68 65 6e 20 61 20 72 65 6c 6f 61 64 61 62 6c  then a reloadabl
22f30 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 0a 69 73  e object file.is
22f40 20 63 72 65 61 74 65 64 2c 20 6f 74 68 65 72 77   created, otherw
22f50 69 73 65 20 61 6e 20 65 78 65 63 75 74 61 62 6c  ise an executabl
22f60 65 20 70 72 6f 67 72 61 6d 20 69 73 20 63 72 65  e program is cre
22f70 61 74 65 64 2e 22 0a 20 20 3b 3b 0a 0a 75 6e 69  ated.".  ;;..uni
22f80 6e 73 74 61 6c 6c 29 0a 20 20 24 65 63 68 6f 20  nstall).  $echo 
22f90 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e  \."Usage: $moden
22fa0 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20  ame [OPTION]... 
22fb0 2d 2d 6d 6f 64 65 3d 75 6e 69 6e 73 74 61 6c 6c  --mode=uninstall
22fc0 20 52 4d 20 5b 52 4d 2d 4f 50 54 49 4f 4e 5d 2e   RM [RM-OPTION].
22fd0 2e 2e 20 46 49 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f  .. FILE.....Remo
22fe0 76 65 20 6c 69 62 72 61 72 69 65 73 20 66 72 6f  ve libraries fro
22ff0 6d 20 61 6e 20 69 6e 73 74 61 6c 6c 61 74 69 6f  m an installatio
23000 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 52 4d  n directory...RM
23010 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20   is the name of 
23020 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 75  the program to u
23030 73 65 20 74 6f 20 64 65 6c 65 74 65 20 66 69 6c  se to delete fil
23040 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  es associated wi
23050 74 68 20 65 61 63 68 20 46 49 4c 45 0a 28 74 79  th each FILE.(ty
23060 70 69 63 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72  pically \`/bin/r
23070 6d 27 29 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e 53  m').  RM-OPTIONS
23080 20 61 72 65 20 6f 70 74 69 6f 6e 73 20 28 73 75   are options (su
23090 63 68 20 61 73 20 5c 60 2d 66 27 29 20 74 6f 20  ch as \`-f') to 
230a0 62 65 20 70 61 73 73 65 64 0a 74 6f 20 52 4d 2e  be passed.to RM.
230b0 0a 0a 49 66 20 46 49 4c 45 20 69 73 20 61 20 6c  ..If FILE is a l
230c0 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2c 20  ibtool library, 
230d0 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 61 73  all the files as
230e0 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 69 74  sociated with it
230f0 20 61 72 65 20 64 65 6c 65 74 65 64 2e 0a 4f 74   are deleted..Ot
23100 68 65 72 77 69 73 65 2c 20 6f 6e 6c 79 20 46 49  herwise, only FI
23110 4c 45 20 69 74 73 65 6c 66 20 69 73 20 64 65 6c  LE itself is del
23120 65 74 65 64 20 75 73 69 6e 67 20 52 4d 2e 22 0a  eted using RM.".
23130 20 20 3b 3b 0a 0a 2a 29 0a 20 20 24 65 63 68 6f    ;;..*).  $echo
23140 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 69 6e 76   "$modename: inv
23150 61 6c 69 64 20 6f 70 65 72 61 74 69 6f 6e 20 6d  alid operation m
23160 6f 64 65 20 5c 60 24 6d 6f 64 65 27 22 20 31 3e  ode \`$mode'" 1>
23170 26 32 0a 20 20 24 65 63 68 6f 20 22 24 68 65 6c  &2.  $echo "$hel
23180 70 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20 31  p" 1>&2.  exit 1
23190 0a 20 20 3b 3b 0a 65 73 61 63 0a 0a 65 63 68 6f  .  ;;.esac..echo
231a0 0a 24 65 63 68 6f 20 22 54 72 79 20 5c 60 24 6d  .$echo "Try \`$m
231b0 6f 64 65 6e 61 6d 65 20 2d 2d 68 65 6c 70 27 20  odename --help' 
231c0 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
231d0 74 69 6f 6e 20 61 62 6f 75 74 20 6f 74 68 65 72  tion about other
231e0 20 6d 6f 64 65 73 2e 22 0a 0a 65 78 69 74 20 30   modes."..exit 0
231f0 0a 0a 23 20 4c 6f 63 61 6c 20 56 61 72 69 61 62  ..# Local Variab
23200 6c 65 73 3a 0a 23 20 6d 6f 64 65 3a 73 68 65 6c  les:.# mode:shel
23210 6c 2d 73 63 72 69 70 74 0a 23 20 73 68 2d 69 6e  l-script.# sh-in
23220 64 65 6e 74 61 74 69 6f 6e 3a 32 0a 23 20 45 6e  dentation:2.# En
23230 64 3a 0a                                         d:.