/ Hex Artifact Content
Login

Artifact f6b283068efa69f06eb8aa1fe4bddfdbdeb35826:


0000: 23 20 6c 74 6d 61 69 6e 2e 73 68 20 2d 20 50 72  # ltmain.sh - Pr
0010: 6f 76 69 64 65 20 67 65 6e 65 72 61 6c 69 7a 65  ovide generalize
0020: 64 20 6c 69 62 72 61 72 79 2d 62 75 69 6c 64 69  d library-buildi
0030: 6e 67 20 73 75 70 70 6f 72 74 20 73 65 72 76 69  ng support servi
0040: 63 65 73 2e 0a 23 20 4e 4f 54 45 3a 20 43 68 61  ces..# NOTE: Cha
0050: 6e 67 69 6e 67 20 74 68 69 73 20 66 69 6c 65 20  nging this file 
0060: 77 69 6c 6c 20 6e 6f 74 20 61 66 66 65 63 74 20  will not affect 
0070: 61 6e 79 74 68 69 6e 67 20 75 6e 74 69 6c 20 79  anything until y
0080: 6f 75 20 72 65 72 75 6e 20 63 6f 6e 66 69 67 75  ou rerun configu
0090: 72 65 2e 0a 23 0a 23 20 43 6f 70 79 72 69 67 68  re..#.# Copyrigh
00a0: 74 20 28 43 29 20 31 39 39 36 2c 20 31 39 39 37  t (C) 1996, 1997
00b0: 2c 20 31 39 39 38 2c 20 31 39 39 39 2c 20 32 30  , 1998, 1999, 20
00c0: 30 30 2c 20 32 30 30 31 2c 20 32 30 30 33 0a 23  00, 2001, 2003.#
00d0: 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46   Free Software F
00e0: 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a  oundation, Inc..
00f0: 23 20 4f 72 69 67 69 6e 61 6c 6c 79 20 62 79 20  # Originally by 
0100: 47 6f 72 64 6f 6e 20 4d 61 74 7a 69 67 6b 65 69  Gordon Matzigkei
0110: 74 20 3c 67 6f 72 64 40 67 6e 75 2e 61 69 2e 6d  t <gord@gnu.ai.m
0120: 69 74 2e 65 64 75 3e 2c 20 31 39 39 36 0a 23 0a  it.edu>, 1996.#.
0130: 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69  # This program i
0140: 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b  s free software;
0150: 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72   you can redistr
0160: 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20  ibute it and/or 
0170: 6d 6f 64 69 66 79 0a 23 20 69 74 20 75 6e 64 65  modify.# it unde
0180: 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74  r the terms of t
0190: 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  he GNU General P
01a0: 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73  ublic License as
01b0: 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20   published by.# 
01c0: 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72  the Free Softwar
01d0: 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69  e Foundation; ei
01e0: 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f  ther version 2 o
01f0: 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f  f the License, o
0200: 72 0a 23 20 28 61 74 20 79 6f 75 72 20 6f 70 74  r.# (at your opt
0210: 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76  ion) any later v
0220: 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 54 68 69 73  ersion..#.# This
0230: 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74   program is dist
0240: 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68  ributed in the h
0250: 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c  ope that it will
0260: 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a   be useful, but.
0270: 23 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41  # WITHOUT ANY WA
0280: 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20  RRANTY; without 
0290: 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64  even the implied
02a0: 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 4d   warranty of.# M
02b0: 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f  ERCHANTABILITY o
02c0: 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20  r FITNESS FOR A 
02d0: 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f  PARTICULAR PURPO
02e0: 53 45 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55  SE.  See the GNU
02f0: 0a 23 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  .# General Publi
0300: 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f  c License for mo
0310: 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20  re details..#.# 
0320: 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20  You should have 
0330: 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20  received a copy 
0340: 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72  of the GNU Gener
0350: 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73  al Public Licens
0360: 65 0a 23 20 61 6c 6f 6e 67 20 77 69 74 68 20 74  e.# along with t
0370: 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20  his program; if 
0380: 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68  not, write to th
0390: 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a  e Free Software.
03a0: 23 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e  # Foundation, In
03b0: 63 2e 2c 20 35 39 20 54 65 6d 70 6c 65 20 50 6c  c., 59 Temple Pl
03c0: 61 63 65 20 2d 20 53 75 69 74 65 20 33 33 30 2c  ace - Suite 330,
03d0: 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31   Boston, MA 0211
03e0: 31 2d 31 33 30 37 2c 20 55 53 41 2e 0a 23 0a 23  1-1307, USA..#.#
03f0: 20 41 73 20 61 20 73 70 65 63 69 61 6c 20 65 78   As a special ex
0400: 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 20 47  ception to the G
0410: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  NU General Publi
0420: 63 20 4c 69 63 65 6e 73 65 2c 20 69 66 20 79 6f  c License, if yo
0430: 75 0a 23 20 64 69 73 74 72 69 62 75 74 65 20 74  u.# distribute t
0440: 68 69 73 20 66 69 6c 65 20 61 73 20 70 61 72 74  his file as part
0450: 20 6f 66 20 61 20 70 72 6f 67 72 61 6d 20 74 68   of a program th
0460: 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 0a 23 20  at contains a.# 
0470: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63  configuration sc
0480: 72 69 70 74 20 67 65 6e 65 72 61 74 65 64 20 62  ript generated b
0490: 79 20 41 75 74 6f 63 6f 6e 66 2c 20 79 6f 75 20  y Autoconf, you 
04a0: 6d 61 79 20 69 6e 63 6c 75 64 65 20 69 74 20 75  may include it u
04b0: 6e 64 65 72 0a 23 20 74 68 65 20 73 61 6d 65 20  nder.# the same 
04c0: 64 69 73 74 72 69 62 75 74 69 6f 6e 20 74 65 72  distribution ter
04d0: 6d 73 20 74 68 61 74 20 79 6f 75 20 75 73 65 20  ms that you use 
04e0: 66 6f 72 20 74 68 65 20 72 65 73 74 20 6f 66 20  for the rest of 
04f0: 74 68 61 74 20 70 72 6f 67 72 61 6d 2e 0a 0a 23  that program...#
0500: 20 43 68 65 63 6b 20 74 68 61 74 20 77 65 20 68   Check that we h
0510: 61 76 65 20 61 20 77 6f 72 6b 69 6e 67 20 24 65  ave a working $e
0520: 63 68 6f 2e 0a 69 66 20 74 65 73 74 20 22 58 24  cho..if test "X$
0530: 31 22 20 3d 20 58 2d 2d 6e 6f 2d 72 65 65 78 65  1" = X--no-reexe
0540: 63 3b 20 74 68 65 6e 0a 20 20 23 20 44 69 73 63  c; then.  # Disc
0550: 61 72 64 20 74 68 65 20 2d 2d 6e 6f 2d 72 65 65  ard the --no-ree
0560: 78 65 63 20 66 6c 61 67 2c 20 61 6e 64 20 63 6f  xec flag, and co
0570: 6e 74 69 6e 75 65 2e 0a 20 20 73 68 69 66 74 0a  ntinue..  shift.
0580: 65 6c 69 66 20 74 65 73 74 20 22 58 24 31 22 20  elif test "X$1" 
0590: 3d 20 58 2d 2d 66 61 6c 6c 62 61 63 6b 2d 65 63  = X--fallback-ec
05a0: 68 6f 3b 20 74 68 65 6e 0a 20 20 23 20 41 76 6f  ho; then.  # Avo
05b0: 69 64 20 69 6e 6c 69 6e 65 20 64 6f 63 75 6d 65  id inline docume
05c0: 6e 74 20 68 65 72 65 2c 20 69 74 20 6d 61 79 20  nt here, it may 
05d0: 62 65 20 6c 65 66 74 20 6f 76 65 72 0a 20 20 3a  be left over.  :
05e0: 0a 65 6c 69 66 20 74 65 73 74 20 22 58 60 28 24  .elif test "X`($
05f0: 65 63 68 6f 20 27 5c 74 27 29 20 32 3e 2f 64 65  echo '\t') 2>/de
0600: 76 2f 6e 75 6c 6c 60 22 20 3d 20 27 58 5c 74 27  v/null`" = 'X\t'
0610: 3b 20 74 68 65 6e 0a 20 20 23 20 59 69 70 70 65  ; then.  # Yippe
0620: 65 2c 20 24 65 63 68 6f 20 77 6f 72 6b 73 21 0a  e, $echo works!.
0630: 20 20 3a 0a 65 6c 73 65 0a 20 20 23 20 52 65 73    :.else.  # Res
0640: 74 61 72 74 20 75 6e 64 65 72 20 74 68 65 20 63  tart under the c
0650: 6f 72 72 65 63 74 20 73 68 65 6c 6c 2c 20 61 6e  orrect shell, an
0660: 64 20 74 68 65 6e 20 6d 61 79 62 65 20 24 65 63  d then maybe $ec
0670: 68 6f 20 77 69 6c 6c 20 77 6f 72 6b 2e 0a 20 20  ho will work..  
0680: 65 78 65 63 20 24 53 48 45 4c 4c 20 22 24 30 22  exec $SHELL "$0"
0690: 20 2d 2d 6e 6f 2d 72 65 65 78 65 63 20 24 7b 31   --no-reexec ${1
06a0: 2b 22 24 40 22 7d 0a 66 69 0a 0a 69 66 20 74 65  +"$@"}.fi..if te
06b0: 73 74 20 22 58 24 31 22 20 3d 20 58 2d 2d 66 61  st "X$1" = X--fa
06c0: 6c 6c 62 61 63 6b 2d 65 63 68 6f 3b 20 74 68 65  llback-echo; the
06d0: 6e 0a 20 20 23 20 75 73 65 64 20 61 73 20 66 61  n.  # used as fa
06e0: 6c 6c 62 61 63 6b 20 65 63 68 6f 0a 20 20 73 68  llback echo.  sh
06f0: 69 66 74 0a 20 20 63 61 74 20 3c 3c 45 4f 46 0a  ift.  cat <<EOF.
0700: 24 2a 0a 45 4f 46 0a 20 20 65 78 69 74 20 30 0a  $*.EOF.  exit 0.
0710: 66 69 0a 0a 23 20 54 68 65 20 6e 61 6d 65 20 6f  fi..# The name o
0720: 66 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 0a  f this program..
0730: 70 72 6f 67 6e 61 6d 65 3d 60 24 65 63 68 6f 20  progname=`$echo 
0740: 22 24 30 22 20 7c 20 24 7b 53 45 44 7d 20 27 73  "$0" | ${SED} 's
0750: 25 5e 2e 2a 2f 25 25 27 60 0a 6d 6f 64 65 6e 61  %^.*/%%'`.modena
0760: 6d 65 3d 22 24 70 72 6f 67 6e 61 6d 65 22 0a 0a  me="$progname"..
0770: 23 20 43 6f 6e 73 74 61 6e 74 73 2e 0a 50 52 4f  # Constants..PRO
0780: 47 52 41 4d 3d 6c 74 6d 61 69 6e 2e 73 68 0a 50  GRAM=ltmain.sh.P
0790: 41 43 4b 41 47 45 3d 6c 69 62 74 6f 6f 6c 0a 56  ACKAGE=libtool.V
07a0: 45 52 53 49 4f 4e 3d 31 2e 35 2e 32 0a 54 49 4d  ERSION=1.5.2.TIM
07b0: 45 53 54 41 4d 50 3d 22 20 28 31 2e 31 32 32 30  ESTAMP=" (1.1220
07c0: 2e 32 2e 36 30 20 32 30 30 34 2f 30 31 2f 32 35  .2.60 2004/01/25
07d0: 20 31 32 3a 32 35 3a 30 38 29 20 44 65 62 69 61   12:25:08) Debia
07e0: 6e 24 52 65 76 3a 20 31 39 32 20 24 22 0a 0a 64  n$Rev: 192 $"..d
07f0: 65 66 61 75 6c 74 5f 6d 6f 64 65 3d 0a 68 65 6c  efault_mode=.hel
0800: 70 3d 22 54 72 79 20 5c 60 24 70 72 6f 67 6e 61  p="Try \`$progna
0810: 6d 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d  me --help' for m
0820: 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e  ore information.
0830: 22 0a 6d 61 67 69 63 3d 22 25 25 25 4d 41 47 49  ".magic="%%%MAGI
0840: 43 20 76 61 72 69 61 62 6c 65 25 25 25 22 0a 6d  C variable%%%".m
0850: 6b 64 69 72 3d 22 6d 6b 64 69 72 22 0a 6d 76 3d  kdir="mkdir".mv=
0860: 22 6d 76 20 2d 66 22 0a 72 6d 3d 22 72 6d 20 2d  "mv -f".rm="rm -
0870: 66 22 0a 0a 23 20 53 65 64 20 73 75 62 73 74 69  f"..# Sed substi
0880: 74 75 74 69 6f 6e 20 74 68 61 74 20 68 65 6c 70  tution that help
0890: 73 20 75 73 20 64 6f 20 72 6f 62 75 73 74 20 71  s us do robust q
08a0: 75 6f 74 69 6e 67 2e 20 20 49 74 20 62 61 63 6b  uoting.  It back
08b0: 73 6c 61 73 68 69 66 69 65 73 0a 23 20 6d 65 74  slashifies.# met
08c0: 61 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74  acharacters that
08d0: 20 61 72 65 20 73 74 69 6c 6c 20 61 63 74 69 76   are still activ
08e0: 65 20 77 69 74 68 69 6e 20 64 6f 75 62 6c 65 2d  e within double-
08f0: 71 75 6f 74 65 64 20 73 74 72 69 6e 67 73 2e 0a  quoted strings..
0900: 58 73 65 64 3d 22 24 7b 53 45 44 7d 22 27 20 2d  Xsed="${SED}"' -
0910: 65 20 31 73 2f 5e 58 2f 2f 27 0a 73 65 64 5f 71  e 1s/^X//'.sed_q
0920: 75 6f 74 65 5f 73 75 62 73 74 3d 27 73 2f 5c 28  uote_subst='s/\(
0930: 5b 5c 5c 60 5c 5c 22 24 5c 5c 5c 5c 5d 5c 29 2f  [\\`\\"$\\\\]\)/
0940: 5c 5c 5c 31 2f 67 27 0a 23 20 74 65 73 74 20 45  \\\1/g'.# test E
0950: 42 43 44 49 43 20 6f 72 20 41 53 43 49 49 0a 63  BCDIC or ASCII.c
0960: 61 73 65 20 60 65 63 68 6f 20 41 7c 74 72 20 41  ase `echo A|tr A
0970: 20 27 5c 33 30 31 27 60 20 69 6e 0a 20 41 29 20   '\301'` in. A) 
0980: 23 20 45 42 43 44 49 43 20 62 61 73 65 64 20 73  # EBCDIC based s
0990: 79 73 74 65 6d 0a 20 20 53 50 32 4e 4c 3d 22 74  ystem.  SP2NL="t
09a0: 72 20 27 5c 31 30 30 27 20 27 5c 6e 27 22 0a 20  r '\100' '\n'". 
09b0: 20 4e 4c 32 53 50 3d 22 74 72 20 27 5c 72 5c 6e   NL2SP="tr '\r\n
09c0: 27 20 27 5c 31 30 30 5c 31 30 30 27 22 0a 20 20  ' '\100\100'".  
09d0: 3b 3b 0a 20 2a 29 20 23 20 41 73 73 75 6d 65 20  ;;. *) # Assume 
09e0: 41 53 43 49 49 20 62 61 73 65 64 20 73 79 73 74  ASCII based syst
09f0: 65 6d 0a 20 20 53 50 32 4e 4c 3d 22 74 72 20 27  em.  SP2NL="tr '
0a00: 5c 30 34 30 27 20 27 5c 30 31 32 27 22 0a 20 20  \040' '\012'".  
0a10: 4e 4c 32 53 50 3d 22 74 72 20 27 5c 30 31 35 5c  NL2SP="tr '\015\
0a20: 30 31 32 27 20 27 5c 30 34 30 5c 30 34 30 27 22  012' '\040\040'"
0a30: 0a 20 20 3b 3b 0a 65 73 61 63 0a 0a 23 20 4e 4c  .  ;;.esac..# NL
0a40: 53 20 6e 75 69 73 61 6e 63 65 73 2e 0a 23 20 4f  S nuisances..# O
0a50: 6e 6c 79 20 73 65 74 20 4c 41 4e 47 20 61 6e 64  nly set LANG and
0a60: 20 4c 43 5f 41 4c 4c 20 74 6f 20 43 20 69 66 20   LC_ALL to C if 
0a70: 61 6c 72 65 61 64 79 20 73 65 74 2e 0a 23 20 54  already set..# T
0a80: 68 65 73 65 20 6d 75 73 74 20 6e 6f 74 20 62 65  hese must not be
0a90: 20 73 65 74 20 75 6e 63 6f 6e 64 69 74 69 6f 6e   set uncondition
0aa0: 61 6c 6c 79 20 62 65 63 61 75 73 65 20 6e 6f 74  ally because not
0ab0: 20 61 6c 6c 20 73 79 73 74 65 6d 73 20 75 6e 64   all systems und
0ac0: 65 72 73 74 61 6e 64 0a 23 20 65 2e 67 2e 20 4c  erstand.# e.g. L
0ad0: 41 4e 47 3d 43 20 28 6e 6f 74 61 62 6c 79 20 53  ANG=C (notably S
0ae0: 43 4f 29 2e 0a 23 20 57 65 20 73 61 76 65 20 74  CO)..# We save t
0af0: 68 65 20 6f 6c 64 20 76 61 6c 75 65 73 20 74 6f  he old values to
0b00: 20 72 65 73 74 6f 72 65 20 64 75 72 69 6e 67 20   restore during 
0b10: 65 78 65 63 75 74 65 20 6d 6f 64 65 2e 0a 69 66  execute mode..if
0b20: 20 74 65 73 74 20 22 24 7b 4c 43 5f 41 4c 4c 2b   test "${LC_ALL+
0b30: 73 65 74 7d 22 20 3d 20 73 65 74 3b 20 74 68 65  set}" = set; the
0b40: 6e 0a 20 20 73 61 76 65 5f 4c 43 5f 41 4c 4c 3d  n.  save_LC_ALL=
0b50: 22 24 4c 43 5f 41 4c 4c 22 3b 20 4c 43 5f 41 4c  "$LC_ALL"; LC_AL
0b60: 4c 3d 43 3b 20 65 78 70 6f 72 74 20 4c 43 5f 41  L=C; export LC_A
0b70: 4c 4c 0a 66 69 0a 69 66 20 74 65 73 74 20 22 24  LL.fi.if test "$
0b80: 7b 4c 41 4e 47 2b 73 65 74 7d 22 20 3d 20 73 65  {LANG+set}" = se
0b90: 74 3b 20 74 68 65 6e 0a 20 20 73 61 76 65 5f 4c  t; then.  save_L
0ba0: 41 4e 47 3d 22 24 4c 41 4e 47 22 3b 20 4c 41 4e  ANG="$LANG"; LAN
0bb0: 47 3d 43 3b 20 65 78 70 6f 72 74 20 4c 41 4e 47  G=C; export LANG
0bc0: 0a 66 69 0a 0a 23 20 4d 61 6b 65 20 73 75 72 65  .fi..# Make sure
0bd0: 20 49 46 53 20 68 61 73 20 61 20 73 65 6e 73 69   IFS has a sensi
0be0: 62 6c 65 20 64 65 66 61 75 6c 74 0a 3a 20 24 7b  ble default.: ${
0bf0: 49 46 53 3d 22 20 09 0a 22 7d 0a 0a 69 66 20 74  IFS=" .."}..if t
0c00: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
0c10: 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d 20 79 65 73  ool_libs" != yes
0c20: 20 26 26 20 74 65 73 74 20 22 24 62 75 69 6c 64   && test "$build
0c30: 5f 6f 6c 64 5f 6c 69 62 73 22 20 21 3d 20 79 65  _old_libs" != ye
0c40: 73 3b 20 74 68 65 6e 0a 20 20 24 65 63 68 6f 20  s; then.  $echo 
0c50: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6e 6f 74 20  "$modename: not 
0c60: 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 62 75  configured to bu
0c70: 69 6c 64 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20  ild any kind of 
0c80: 6c 69 62 72 61 72 79 22 20 31 3e 26 32 0a 20 20  library" 1>&2.  
0c90: 24 65 63 68 6f 20 22 46 61 74 61 6c 20 63 6f 6e  $echo "Fatal con
0ca0: 66 69 67 75 72 61 74 69 6f 6e 20 65 72 72 6f 72  figuration error
0cb0: 2e 20 20 53 65 65 20 74 68 65 20 24 50 41 43 4b  .  See the $PACK
0cc0: 41 47 45 20 64 6f 63 73 20 66 6f 72 20 6d 6f 72  AGE docs for mor
0cd0: 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 20  e information." 
0ce0: 31 3e 26 32 0a 20 20 65 78 69 74 20 31 0a 66 69  1>&2.  exit 1.fi
0cf0: 0a 0a 23 20 47 6c 6f 62 61 6c 20 76 61 72 69 61  ..# Global varia
0d00: 62 6c 65 73 2e 0a 6d 6f 64 65 3d 24 64 65 66 61  bles..mode=$defa
0d10: 75 6c 74 5f 6d 6f 64 65 0a 6e 6f 6e 6f 70 74 3d  ult_mode.nonopt=
0d20: 0a 70 72 65 76 3d 0a 70 72 65 76 6f 70 74 3d 0a  .prev=.prevopt=.
0d30: 72 75 6e 3d 0a 73 68 6f 77 3d 22 24 65 63 68 6f  run=.show="$echo
0d40: 22 0a 73 68 6f 77 5f 68 65 6c 70 3d 0a 65 78 65  ".show_help=.exe
0d50: 63 75 74 65 5f 64 6c 66 69 6c 65 73 3d 0a 6c 6f  cute_dlfiles=.lo
0d60: 32 6f 3d 22 73 2f 5c 5c 2e 6c 6f 5c 24 2f 2e 24  2o="s/\\.lo\$/.$
0d70: 7b 6f 62 6a 65 78 74 7d 2f 22 0a 6f 32 6c 6f 3d  {objext}/".o2lo=
0d80: 22 73 2f 5c 5c 2e 24 7b 6f 62 6a 65 78 74 7d 5c  "s/\\.${objext}\
0d90: 24 2f 2e 6c 6f 2f 22 0a 0a 23 23 23 23 23 23 23  $/.lo/"..#######
0da0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0db0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
0dc0: 20 53 68 65 6c 6c 20 66 75 6e 63 74 69 6f 6e 20   Shell function 
0dd0: 64 65 66 69 6e 69 74 69 6f 6e 73 3a 0a 23 20 54  definitions:.# T
0de0: 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20  his seems to be 
0df0: 74 68 65 20 62 65 73 74 20 70 6c 61 63 65 20 66  the best place f
0e00: 6f 72 20 74 68 65 6d 0a 0a 23 20 4e 65 65 64 20  or them..# Need 
0e10: 61 20 6c 6f 74 20 6f 66 20 67 6f 6f 20 74 6f 20  a lot of goo to 
0e20: 68 61 6e 64 6c 65 20 2a 62 6f 74 68 2a 20 44 4c  handle *both* DL
0e30: 4c 73 20 61 6e 64 20 69 6d 70 6f 72 74 20 6c 69  Ls and import li
0e40: 62 73 0a 23 20 48 61 73 20 74 6f 20 62 65 20 61  bs.# Has to be a
0e50: 20 73 68 65 6c 6c 20 66 75 6e 63 74 69 6f 6e 20   shell function 
0e60: 69 6e 20 6f 72 64 65 72 20 74 6f 20 27 65 61 74  in order to 'eat
0e70: 27 20 74 68 65 20 61 72 67 75 6d 65 6e 74 0a 23  ' the argument.#
0e80: 20 74 68 61 74 20 69 73 20 73 75 70 70 6c 69 65   that is supplie
0e90: 64 20 77 68 65 6e 20 24 66 69 6c 65 5f 6d 61 67  d when $file_mag
0ea0: 69 63 5f 63 6f 6d 6d 61 6e 64 20 69 73 20 63 61  ic_command is ca
0eb0: 6c 6c 65 64 2e 0a 77 69 6e 33 32 5f 6c 69 62 69  lled..win32_libi
0ec0: 64 20 28 29 20 7b 0a 20 20 77 69 6e 33 32 5f 6c  d () {.  win32_l
0ed0: 69 62 69 64 5f 74 79 70 65 3d 22 75 6e 6b 6e 6f  ibid_type="unkno
0ee0: 77 6e 22 0a 20 20 77 69 6e 33 32 5f 66 69 6c 65  wn".  win32_file
0ef0: 72 65 73 3d 60 66 69 6c 65 20 2d 4c 20 24 31 20  res=`file -L $1 
0f00: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 20 20 63  2>/dev/null`.  c
0f10: 61 73 65 20 24 77 69 6e 33 32 5f 66 69 6c 65 72  ase $win32_filer
0f20: 65 73 20 69 6e 0a 20 20 2a 61 72 5c 20 61 72 63  es in.  *ar\ arc
0f30: 68 69 76 65 5c 20 69 6d 70 6f 72 74 5c 20 6c 69  hive\ import\ li
0f40: 62 72 61 72 79 2a 29 20 23 20 64 65 66 69 6e 69  brary*) # defini
0f50: 74 65 6c 79 20 69 6d 70 6f 72 74 0a 20 20 20 20  tely import.    
0f60: 77 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65  win32_libid_type
0f70: 3d 22 78 38 36 20 61 72 63 68 69 76 65 20 69 6d  ="x86 archive im
0f80: 70 6f 72 74 22 0a 20 20 20 20 3b 3b 0a 20 20 2a  port".    ;;.  *
0f90: 61 72 5c 20 61 72 63 68 69 76 65 2a 29 20 23 20  ar\ archive*) # 
0fa0: 63 6f 75 6c 64 20 62 65 20 61 6e 20 69 6d 70 6f  could be an impo
0fb0: 72 74 2c 20 6f 72 20 73 74 61 74 69 63 0a 20 20  rt, or static.  
0fc0: 20 20 69 66 20 65 76 61 6c 20 24 4f 42 4a 44 55    if eval $OBJDU
0fd0: 4d 50 20 2d 66 20 24 31 20 7c 20 24 53 45 44 20  MP -f $1 | $SED 
0fe0: 2d 65 20 27 31 30 71 27 20 32 3e 2f 64 65 76 2f  -e '10q' 2>/dev/
0ff0: 6e 75 6c 6c 20 7c 20 5c 0a 20 20 20 20 20 20 67  null | \.      g
1000: 72 65 70 20 2d 45 20 27 66 69 6c 65 20 66 6f 72  rep -E 'file for
1010: 6d 61 74 20 70 65 2d 69 33 38 36 28 2e 2a 61 72  mat pe-i386(.*ar
1020: 63 68 69 74 65 63 74 75 72 65 3a 20 69 33 38 36  chitecture: i386
1030: 29 3f 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 3b  )?' >/dev/null ;
1040: 20 74 68 65 6e 0a 20 20 20 20 20 20 77 69 6e 33   then.      win3
1050: 32 5f 6e 6d 72 65 73 3d 60 65 76 61 6c 20 24 4e  2_nmres=`eval $N
1060: 4d 20 2d 66 20 70 6f 73 69 78 20 2d 41 20 24 31  M -f posix -A $1
1070: 20 7c 20 5c 0a 09 73 65 64 20 2d 6e 20 2d 65 20   | \..sed -n -e 
1080: 27 31 2c 31 30 30 7b 2f 20 49 20 2f 7b 78 3b 2f  '1,100{/ I /{x;/
1090: 69 6d 70 6f 72 74 2f 21 7b 73 2f 5e 2f 69 6d 70  import/!{s/^/imp
10a0: 6f 72 74 2f 3b 68 3b 70 3b 7d 3b 78 3b 7d 3b 7d  ort/;h;p;};x;};}
10b0: 27 60 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  '`.      if test
10c0: 20 22 58 24 77 69 6e 33 32 5f 6e 6d 72 65 73 22   "X$win32_nmres"
10d0: 20 3d 20 22 58 69 6d 70 6f 72 74 22 20 3b 20 74   = "Ximport" ; t
10e0: 68 65 6e 0a 20 20 20 20 20 20 20 20 77 69 6e 33  hen.        win3
10f0: 32 5f 6c 69 62 69 64 5f 74 79 70 65 3d 22 78 38  2_libid_type="x8
1100: 36 20 61 72 63 68 69 76 65 20 69 6d 70 6f 72 74  6 archive import
1110: 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20  ".      else.   
1120: 20 20 20 20 20 77 69 6e 33 32 5f 6c 69 62 69 64       win32_libid
1130: 5f 74 79 70 65 3d 22 78 38 36 20 61 72 63 68 69  _type="x86 archi
1140: 76 65 20 73 74 61 74 69 63 22 0a 20 20 20 20 20  ve static".     
1150: 20 66 69 0a 20 20 20 20 66 69 0a 20 20 20 20 3b   fi.    fi.    ;
1160: 3b 0a 20 20 2a 44 4c 4c 2a 29 20 0a 20 20 20 20  ;.  *DLL*) .    
1170: 77 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70 65  win32_libid_type
1180: 3d 22 78 38 36 20 44 4c 4c 22 0a 20 20 20 20 3b  ="x86 DLL".    ;
1190: 3b 0a 20 20 2a 65 78 65 63 75 74 61 62 6c 65 2a  ;.  *executable*
11a0: 29 20 23 20 62 75 74 20 73 68 65 6c 6c 20 73 63  ) # but shell sc
11b0: 72 69 70 74 73 20 61 72 65 20 22 65 78 65 63 75  ripts are "execu
11c0: 74 61 62 6c 65 22 20 74 6f 6f 2e 2e 2e 0a 20 20  table" too....  
11d0: 20 20 63 61 73 65 20 24 77 69 6e 33 32 5f 66 69    case $win32_fi
11e0: 6c 65 72 65 73 20 69 6e 0a 20 20 20 20 2a 4d 53  leres in.    *MS
11f0: 5c 20 57 69 6e 64 6f 77 73 5c 20 50 45 5c 20 49  \ Windows\ PE\ I
1200: 6e 74 65 6c 2a 29 0a 20 20 20 20 20 20 77 69 6e  ntel*).      win
1210: 33 32 5f 6c 69 62 69 64 5f 74 79 70 65 3d 22 78  32_libid_type="x
1220: 38 36 20 44 4c 4c 22 0a 20 20 20 20 20 20 3b 3b  86 DLL".      ;;
1230: 0a 20 20 20 20 65 73 61 63 0a 20 20 20 20 3b 3b  .    esac.    ;;
1240: 0a 20 20 65 73 61 63 0a 20 20 24 65 63 68 6f 20  .  esac.  $echo 
1250: 24 77 69 6e 33 32 5f 6c 69 62 69 64 5f 74 79 70  $win32_libid_typ
1260: 65 0a 7d 0a 0a 23 20 45 6e 64 20 6f 66 20 53 68  e.}..# End of Sh
1270: 65 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 64 65 66  ell function def
1280: 69 6e 69 74 69 6f 6e 73 0a 23 23 23 23 23 23 23  initions.#######
1290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a  ##############..
12b0: 23 20 50 61 72 73 65 20 6f 75 72 20 63 6f 6d 6d  # Parse our comm
12c0: 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73  and line options
12d0: 20 6f 6e 63 65 2c 20 74 68 6f 72 6f 75 67 68 6c   once, thoroughl
12e0: 79 2e 0a 77 68 69 6c 65 20 74 65 73 74 20 22 24  y..while test "$
12f0: 23 22 20 2d 67 74 20 30 0a 64 6f 0a 20 20 61 72  #" -gt 0.do.  ar
1300: 67 3d 22 24 31 22 0a 20 20 73 68 69 66 74 0a 0a  g="$1".  shift..
1310: 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20    case $arg in. 
1320: 20 2d 2a 3d 2a 29 20 6f 70 74 61 72 67 3d 60 24   -*=*) optarg=`$
1330: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
1340: 58 73 65 64 20 2d 65 20 27 73 2f 5b 2d 5f 61 2d  Xsed -e 's/[-_a-
1350: 7a 41 2d 5a 30 2d 39 5d 2a 3d 2f 2f 27 60 20 3b  zA-Z0-9]*=//'` ;
1360: 3b 0a 20 20 2a 29 20 6f 70 74 61 72 67 3d 20 3b  ;.  *) optarg= ;
1370: 3b 0a 20 20 65 73 61 63 0a 0a 20 20 23 20 49 66  ;.  esac..  # If
1380: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6f 70   the previous op
1390: 74 69 6f 6e 20 6e 65 65 64 73 20 61 6e 20 61 72  tion needs an ar
13a0: 67 75 6d 65 6e 74 2c 20 61 73 73 69 67 6e 20 69  gument, assign i
13b0: 74 2e 0a 20 20 69 66 20 74 65 73 74 20 2d 6e 20  t..  if test -n 
13c0: 22 24 70 72 65 76 22 3b 20 74 68 65 6e 0a 20 20  "$prev"; then.  
13d0: 20 20 63 61 73 65 20 24 70 72 65 76 20 69 6e 0a    case $prev in.
13e0: 20 20 20 20 65 78 65 63 75 74 65 5f 64 6c 66 69      execute_dlfi
13f0: 6c 65 73 29 0a 20 20 20 20 20 20 65 78 65 63 75  les).      execu
1400: 74 65 5f 64 6c 66 69 6c 65 73 3d 22 24 65 78 65  te_dlfiles="$exe
1410: 63 75 74 65 5f 64 6c 66 69 6c 65 73 20 24 61 72  cute_dlfiles $ar
1420: 67 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20  g".      ;;.    
1430: 74 61 67 29 0a 20 20 20 20 20 20 74 61 67 6e 61  tag).      tagna
1440: 6d 65 3d 22 24 61 72 67 22 0a 20 20 20 20 20 20  me="$arg".      
1450: 70 72 65 73 65 72 76 65 5f 61 72 67 73 3d 22 24  preserve_args="$
1460: 7b 70 72 65 73 65 72 76 65 5f 61 72 67 73 7d 3d  {preserve_args}=
1470: 24 61 72 67 22 0a 0a 20 20 20 20 20 20 23 20 43  $arg"..      # C
1480: 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 61 67  heck whether tag
1490: 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 6f 6e  name contains on
14a0: 6c 79 20 76 61 6c 69 64 20 63 68 61 72 61 63 74  ly valid charact
14b0: 65 72 73 0a 20 20 20 20 20 20 63 61 73 65 20 24  ers.      case $
14c0: 74 61 67 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20  tagname in.     
14d0: 20 2a 5b 21 2d 5f 41 2d 5a 61 2d 7a 30 2d 39 2c   *[!-_A-Za-z0-9,
14e0: 2f 5d 2a 29 0a 09 24 65 63 68 6f 20 22 24 70 72  /]*)..$echo "$pr
14f0: 6f 67 6e 61 6d 65 3a 20 69 6e 76 61 6c 69 64 20  ogname: invalid 
1500: 74 61 67 20 6e 61 6d 65 3a 20 24 74 61 67 6e 61  tag name: $tagna
1510: 6d 65 22 20 31 3e 26 32 0a 09 65 78 69 74 20 31  me" 1>&2..exit 1
1520: 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
1530: 0a 20 20 20 20 20 20 63 61 73 65 20 24 74 61 67  .      case $tag
1540: 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 20 43 43  name in.      CC
1550: 29 0a 09 23 20 44 6f 6e 27 74 20 74 65 73 74 20  )..# Don't test 
1560: 66 6f 72 20 74 68 65 20 22 64 65 66 61 75 6c 74  for the "default
1570: 22 20 43 20 74 61 67 2c 20 61 73 20 77 65 20 6b  " C tag, as we k
1580: 6e 6f 77 2c 20 69 74 27 73 20 74 68 65 72 65 2c  now, it's there,
1590: 20 62 75 74 0a 09 23 20 6e 6f 74 20 73 70 65 63   but..# not spec
15a0: 69 61 6c 6c 79 20 6d 61 72 6b 65 64 2e 0a 09 3b  ially marked...;
15b0: 3b 0a 20 20 20 20 20 20 2a 29 0a 09 69 66 20 67  ;.      *)..if g
15c0: 72 65 70 20 22 5e 23 20 23 23 23 20 42 45 47 49  rep "^# ### BEGI
15d0: 4e 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f  N LIBTOOL TAG CO
15e0: 4e 46 49 47 3a 20 24 74 61 67 6e 61 6d 65 24 22  NFIG: $tagname$"
15f0: 20 3c 20 22 24 30 22 20 3e 20 2f 64 65 76 2f 6e   < "$0" > /dev/n
1600: 75 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 74 61 67  ull; then..  tag
1610: 6c 69 73 74 3d 22 24 74 61 67 6c 69 73 74 20 24  list="$taglist $
1620: 74 61 67 6e 61 6d 65 22 0a 09 20 20 23 20 45 76  tagname"..  # Ev
1630: 61 6c 75 61 74 65 20 74 68 65 20 63 6f 6e 66 69  aluate the confi
1640: 67 75 72 61 74 69 6f 6e 2e 0a 09 20 20 65 76 61  guration...  eva
1650: 6c 20 22 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65  l "`${SED} -n -e
1660: 20 27 2f 5e 23 20 23 23 23 20 42 45 47 49 4e 20   '/^# ### BEGIN 
1670: 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46  LIBTOOL TAG CONF
1680: 49 47 3a 20 27 24 74 61 67 6e 61 6d 65 27 24 2f  IG: '$tagname'$/
1690: 2c 2f 5e 23 20 23 23 23 20 45 4e 44 20 4c 49 42  ,/^# ### END LIB
16a0: 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a  TOOL TAG CONFIG:
16b0: 20 27 24 74 61 67 6e 61 6d 65 27 24 2f 70 27 20   '$tagname'$/p' 
16c0: 3c 20 24 30 60 22 0a 09 65 6c 73 65 0a 09 20 20  < $0`"..else..  
16d0: 24 65 63 68 6f 20 22 24 70 72 6f 67 6e 61 6d 65  $echo "$progname
16e0: 3a 20 69 67 6e 6f 72 69 6e 67 20 75 6e 6b 6e 6f  : ignoring unkno
16f0: 77 6e 20 74 61 67 20 24 74 61 67 6e 61 6d 65 22  wn tag $tagname"
1700: 20 31 3e 26 32 0a 09 66 69 0a 09 3b 3b 0a 20 20   1>&2..fi..;;.  
1710: 20 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 3b      esac.      ;
1720: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 65  ;.    *).      e
1730: 76 61 6c 20 22 24 70 72 65 76 3d 5c 24 61 72 67  val "$prev=\$arg
1740: 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  ".      ;;.    e
1750: 73 61 63 0a 0a 20 20 20 20 70 72 65 76 3d 0a 20  sac..    prev=. 
1760: 20 20 20 70 72 65 76 6f 70 74 3d 0a 20 20 20 20     prevopt=.    
1770: 63 6f 6e 74 69 6e 75 65 0a 20 20 66 69 0a 0a 20  continue.  fi.. 
1780: 20 23 20 48 61 76 65 20 77 65 20 73 65 65 6e 20   # Have we seen 
1790: 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 61  a non-optional a
17a0: 72 67 75 6d 65 6e 74 20 79 65 74 3f 0a 20 20 63  rgument yet?.  c
17b0: 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 2d 2d  ase $arg in.  --
17c0: 68 65 6c 70 29 0a 20 20 20 20 73 68 6f 77 5f 68  help).    show_h
17d0: 65 6c 70 3d 79 65 73 0a 20 20 20 20 3b 3b 0a 0a  elp=yes.    ;;..
17e0: 20 20 2d 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20    --version).   
17f0: 20 24 65 63 68 6f 20 22 24 50 52 4f 47 52 41 4d   $echo "$PROGRAM
1800: 20 28 47 4e 55 20 24 50 41 43 4b 41 47 45 29 20   (GNU $PACKAGE) 
1810: 24 56 45 52 53 49 4f 4e 24 54 49 4d 45 53 54 41  $VERSION$TIMESTA
1820: 4d 50 22 0a 20 20 20 20 24 65 63 68 6f 0a 20 20  MP".    $echo.  
1830: 20 20 24 65 63 68 6f 20 22 43 6f 70 79 72 69 67    $echo "Copyrig
1840: 68 74 20 28 43 29 20 32 30 30 33 20 20 46 72 65  ht (C) 2003  Fre
1850: 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64  e Software Found
1860: 61 74 69 6f 6e 2c 20 49 6e 63 2e 22 0a 20 20 20  ation, Inc.".   
1870: 20 24 65 63 68 6f 20 22 54 68 69 73 20 69 73 20   $echo "This is 
1880: 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 73  free software; s
1890: 65 65 20 74 68 65 20 73 6f 75 72 63 65 20 66 6f  ee the source fo
18a0: 72 20 63 6f 70 79 69 6e 67 20 63 6f 6e 64 69 74  r copying condit
18b0: 69 6f 6e 73 2e 20 20 54 68 65 72 65 20 69 73 20  ions.  There is 
18c0: 4e 4f 22 0a 20 20 20 20 24 65 63 68 6f 20 22 77  NO".    $echo "w
18d0: 61 72 72 61 6e 74 79 3b 20 6e 6f 74 20 65 76 65  arranty; not eve
18e0: 6e 20 66 6f 72 20 4d 45 52 43 48 41 4e 54 41 42  n for MERCHANTAB
18f0: 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53  ILITY or FITNESS
1900: 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41   FOR A PARTICULA
1910: 52 20 50 55 52 50 4f 53 45 2e 22 0a 20 20 20 20  R PURPOSE.".    
1920: 65 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a 20  exit 0.    ;;.. 
1930: 20 2d 2d 63 6f 6e 66 69 67 29 0a 20 20 20 20 24   --config).    $
1940: 7b 53 45 44 7d 20 2d 65 20 27 31 2c 2f 5e 23 20  {SED} -e '1,/^# 
1950: 23 23 23 20 42 45 47 49 4e 20 4c 49 42 54 4f 4f  ### BEGIN LIBTOO
1960: 4c 20 43 4f 4e 46 49 47 2f 64 27 20 2d 65 20 27  L CONFIG/d' -e '
1970: 2f 5e 23 20 23 23 23 20 45 4e 44 20 4c 49 42 54  /^# ### END LIBT
1980: 4f 4f 4c 20 43 4f 4e 46 49 47 2f 2c 24 64 27 20  OOL CONFIG/,$d' 
1990: 24 30 0a 20 20 20 20 23 20 4e 6f 77 20 70 72 69  $0.    # Now pri
19a0: 6e 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61  nt the configura
19b0: 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 74 61  tions for the ta
19c0: 67 73 2e 0a 20 20 20 20 66 6f 72 20 74 61 67 6e  gs..    for tagn
19d0: 61 6d 65 20 69 6e 20 24 74 61 67 6c 69 73 74 3b  ame in $taglist;
19e0: 20 64 6f 0a 20 20 20 20 20 20 24 7b 53 45 44 7d   do.      ${SED}
19f0: 20 2d 6e 20 2d 65 20 22 2f 5e 23 20 23 23 23 20   -n -e "/^# ### 
1a00: 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 54 41  BEGIN LIBTOOL TA
1a10: 47 20 43 4f 4e 46 49 47 3a 20 24 74 61 67 6e 61  G CONFIG: $tagna
1a20: 6d 65 24 2f 2c 2f 5e 23 20 23 23 23 20 45 4e 44  me$/,/^# ### END
1a30: 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e   LIBTOOL TAG CON
1a40: 46 49 47 3a 20 24 74 61 67 6e 61 6d 65 24 2f 70  FIG: $tagname$/p
1a50: 22 20 3c 20 22 24 30 22 0a 20 20 20 20 64 6f 6e  " < "$0".    don
1a60: 65 0a 20 20 20 20 65 78 69 74 20 30 0a 20 20 20  e.    exit 0.   
1a70: 20 3b 3b 0a 0a 20 20 2d 2d 64 65 62 75 67 29 0a   ;;..  --debug).
1a80: 20 20 20 20 24 65 63 68 6f 20 22 24 70 72 6f 67      $echo "$prog
1a90: 6e 61 6d 65 3a 20 65 6e 61 62 6c 69 6e 67 20 73  name: enabling s
1aa0: 68 65 6c 6c 20 74 72 61 63 65 20 6d 6f 64 65 22  hell trace mode"
1ab0: 0a 20 20 20 20 73 65 74 20 2d 78 0a 20 20 20 20  .    set -x.    
1ac0: 70 72 65 73 65 72 76 65 5f 61 72 67 73 3d 22 24  preserve_args="$
1ad0: 70 72 65 73 65 72 76 65 5f 61 72 67 73 20 24 61  preserve_args $a
1ae0: 72 67 22 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d  rg".    ;;..  --
1af0: 64 72 79 2d 72 75 6e 20 7c 20 2d 6e 29 0a 20 20  dry-run | -n).  
1b00: 20 20 72 75 6e 3d 3a 0a 20 20 20 20 3b 3b 0a 0a    run=:.    ;;..
1b10: 20 20 2d 2d 66 65 61 74 75 72 65 73 29 0a 20 20    --features).  
1b20: 20 20 24 65 63 68 6f 20 22 68 6f 73 74 3a 20 24    $echo "host: $
1b30: 68 6f 73 74 22 0a 20 20 20 20 69 66 20 74 65 73  host".    if tes
1b40: 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  t "$build_libtoo
1b50: 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74  l_libs" = yes; t
1b60: 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20  hen.      $echo 
1b70: 22 65 6e 61 62 6c 65 20 73 68 61 72 65 64 20 6c  "enable shared l
1b80: 69 62 72 61 72 69 65 73 22 0a 20 20 20 20 65 6c  ibraries".    el
1b90: 73 65 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22  se.      $echo "
1ba0: 64 69 73 61 62 6c 65 20 73 68 61 72 65 64 20 6c  disable shared l
1bb0: 69 62 72 61 72 69 65 73 22 0a 20 20 20 20 66 69  ibraries".    fi
1bc0: 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62  .    if test "$b
1bd0: 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d  uild_old_libs" =
1be0: 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20 20   yes; then.     
1bf0: 20 24 65 63 68 6f 20 22 65 6e 61 62 6c 65 20 73   $echo "enable s
1c00: 74 61 74 69 63 20 6c 69 62 72 61 72 69 65 73 22  tatic libraries"
1c10: 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20  .    else.      
1c20: 24 65 63 68 6f 20 22 64 69 73 61 62 6c 65 20 73  $echo "disable s
1c30: 74 61 74 69 63 20 6c 69 62 72 61 72 69 65 73 22  tatic libraries"
1c40: 0a 20 20 20 20 66 69 0a 20 20 20 20 65 78 69 74  .    fi.    exit
1c50: 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2d 66   0.    ;;..  --f
1c60: 69 6e 69 73 68 29 20 6d 6f 64 65 3d 22 66 69 6e  inish) mode="fin
1c70: 69 73 68 22 20 3b 3b 0a 0a 20 20 2d 2d 6d 6f 64  ish" ;;..  --mod
1c80: 65 29 20 70 72 65 76 6f 70 74 3d 22 2d 2d 6d 6f  e) prevopt="--mo
1c90: 64 65 22 20 70 72 65 76 3d 6d 6f 64 65 20 3b 3b  de" prev=mode ;;
1ca0: 0a 20 20 2d 2d 6d 6f 64 65 3d 2a 29 20 6d 6f 64  .  --mode=*) mod
1cb0: 65 3d 22 24 6f 70 74 61 72 67 22 20 3b 3b 0a 0a  e="$optarg" ;;..
1cc0: 20 20 2d 2d 70 72 65 73 65 72 76 65 2d 64 75 70    --preserve-dup
1cd0: 2d 64 65 70 73 29 20 64 75 70 6c 69 63 61 74 65  -deps) duplicate
1ce0: 5f 64 65 70 73 3d 22 79 65 73 22 20 3b 3b 0a 0a  _deps="yes" ;;..
1cf0: 20 20 2d 2d 71 75 69 65 74 20 7c 20 2d 2d 73 69    --quiet | --si
1d00: 6c 65 6e 74 29 0a 20 20 20 20 73 68 6f 77 3d 3a  lent).    show=:
1d10: 0a 20 20 20 20 70 72 65 73 65 72 76 65 5f 61 72  .    preserve_ar
1d20: 67 73 3d 22 24 70 72 65 73 65 72 76 65 5f 61 72  gs="$preserve_ar
1d30: 67 73 20 24 61 72 67 22 0a 20 20 20 20 3b 3b 0a  gs $arg".    ;;.
1d40: 0a 20 20 2d 2d 74 61 67 29 20 70 72 65 76 6f 70  .  --tag) prevop
1d50: 74 3d 22 2d 2d 74 61 67 22 20 70 72 65 76 3d 74  t="--tag" prev=t
1d60: 61 67 20 3b 3b 0a 20 20 2d 2d 74 61 67 3d 2a 29  ag ;;.  --tag=*)
1d70: 0a 20 20 20 20 73 65 74 20 74 61 67 20 22 24 6f  .    set tag "$o
1d80: 70 74 61 72 67 22 20 24 7b 31 2b 22 24 40 22 7d  ptarg" ${1+"$@"}
1d90: 0a 20 20 20 20 73 68 69 66 74 0a 20 20 20 20 70  .    shift.    p
1da0: 72 65 76 3d 74 61 67 0a 20 20 20 20 70 72 65 73  rev=tag.    pres
1db0: 65 72 76 65 5f 61 72 67 73 3d 22 24 70 72 65 73  erve_args="$pres
1dc0: 65 72 76 65 5f 61 72 67 73 20 2d 2d 74 61 67 22  erve_args --tag"
1dd0: 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 64 6c 6f 70  .    ;;..  -dlop
1de0: 65 6e 29 0a 20 20 20 20 70 72 65 76 6f 70 74 3d  en).    prevopt=
1df0: 22 2d 64 6c 6f 70 65 6e 22 0a 20 20 20 20 70 72  "-dlopen".    pr
1e00: 65 76 3d 65 78 65 63 75 74 65 5f 64 6c 66 69 6c  ev=execute_dlfil
1e10: 65 73 0a 20 20 20 20 3b 3b 0a 0a 20 20 2d 2a 29  es.    ;;..  -*)
1e20: 0a 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
1e30: 65 6e 61 6d 65 3a 20 75 6e 72 65 63 6f 67 6e 69  ename: unrecogni
1e40: 7a 65 64 20 6f 70 74 69 6f 6e 20 5c 60 24 61 72  zed option \`$ar
1e50: 67 27 22 20 31 3e 26 32 0a 20 20 20 20 24 65 63  g'" 1>&2.    $ec
1e60: 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a  ho "$help" 1>&2.
1e70: 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 3b      exit 1.    ;
1e80: 3b 0a 0a 20 20 2a 29 0a 20 20 20 20 6e 6f 6e 6f  ;..  *).    nono
1e90: 70 74 3d 22 24 61 72 67 22 0a 20 20 20 20 62 72  pt="$arg".    br
1ea0: 65 61 6b 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61  eak.    ;;.  esa
1eb0: 63 0a 64 6f 6e 65 0a 0a 69 66 20 74 65 73 74 20  c.done..if test 
1ec0: 2d 6e 20 22 24 70 72 65 76 6f 70 74 22 3b 20 74  -n "$prevopt"; t
1ed0: 68 65 6e 0a 20 20 24 65 63 68 6f 20 22 24 6d 6f  hen.  $echo "$mo
1ee0: 64 65 6e 61 6d 65 3a 20 6f 70 74 69 6f 6e 20 5c  dename: option \
1ef0: 60 24 70 72 65 76 6f 70 74 27 20 72 65 71 75 69  `$prevopt' requi
1f00: 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22  res an argument"
1f10: 20 31 3e 26 32 0a 20 20 24 65 63 68 6f 20 22 24   1>&2.  $echo "$
1f20: 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 65 78 69  help" 1>&2.  exi
1f30: 74 20 31 0a 66 69 0a 0a 23 20 49 66 20 74 68 69  t 1.fi..# If thi
1f40: 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 65  s variable is se
1f50: 74 20 69 6e 20 61 6e 79 20 6f 66 20 74 68 65 20  t in any of the 
1f60: 61 63 74 69 6f 6e 73 2c 20 74 68 65 20 63 6f 6d  actions, the com
1f70: 6d 61 6e 64 20 69 6e 20 69 74 0a 23 20 77 69 6c  mand in it.# wil
1f80: 6c 20 62 65 20 65 78 65 63 65 64 20 61 74 20 74  l be execed at t
1f90: 68 65 20 65 6e 64 2e 20 20 54 68 69 73 20 70 72  he end.  This pr
1fa0: 65 76 65 6e 74 73 20 68 65 72 65 2d 64 6f 63 75  events here-docu
1fb0: 6d 65 6e 74 73 20 66 72 6f 6d 20 62 65 69 6e 67  ments from being
1fc0: 0a 23 20 6c 65 66 74 20 6f 76 65 72 20 62 79 20  .# left over by 
1fd0: 73 68 65 6c 6c 73 2e 0a 65 78 65 63 5f 63 6d 64  shells..exec_cmd
1fe0: 3d 0a 0a 69 66 20 74 65 73 74 20 2d 7a 20 22 24  =..if test -z "$
1ff0: 73 68 6f 77 5f 68 65 6c 70 22 3b 20 74 68 65 6e  show_help"; then
2000: 0a 0a 20 20 23 20 49 6e 66 65 72 20 74 68 65 20  ..  # Infer the 
2010: 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65 2e 0a  operation mode..
2020: 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6d    if test -z "$m
2030: 6f 64 65 22 3b 20 74 68 65 6e 0a 20 20 20 20 24  ode"; then.    $
2040: 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e  echo "*** Warnin
2050: 67 3a 20 69 6e 66 65 72 72 69 6e 67 20 74 68 65  g: inferring the
2060: 20 6d 6f 64 65 20 6f 66 20 6f 70 65 72 61 74 69   mode of operati
2070: 6f 6e 20 69 73 20 64 65 70 72 65 63 61 74 65 64  on is deprecated
2080: 2e 22 20 31 3e 26 32 0a 20 20 20 20 24 65 63 68  ." 1>&2.    $ech
2090: 6f 20 22 2a 2a 2a 20 46 75 74 75 72 65 20 76 65  o "*** Future ve
20a0: 72 73 69 6f 6e 73 20 6f 66 20 4c 69 62 74 6f 6f  rsions of Libtoo
20b0: 6c 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 2d  l will require -
20c0: 6d 6f 64 65 3d 4d 4f 44 45 20 62 65 20 73 70 65  mode=MODE be spe
20d0: 63 69 66 69 65 64 2e 22 20 31 3e 26 32 0a 20 20  cified." 1>&2.  
20e0: 20 20 63 61 73 65 20 24 6e 6f 6e 6f 70 74 20 69    case $nonopt i
20f0: 6e 0a 20 20 20 20 2a 63 63 20 7c 20 63 63 2a 20  n.    *cc | cc* 
2100: 7c 20 2a 2b 2b 20 7c 20 67 63 63 2a 20 7c 20 2a  | *++ | gcc* | *
2110: 2d 67 63 63 2a 20 7c 20 67 2b 2b 2a 20 7c 20 78  -gcc* | g++* | x
2120: 6c 63 2a 29 0a 20 20 20 20 20 20 6d 6f 64 65 3d  lc*).      mode=
2130: 6c 69 6e 6b 0a 20 20 20 20 20 20 66 6f 72 20 61  link.      for a
2140: 72 67 0a 20 20 20 20 20 20 64 6f 0a 09 63 61 73  rg.      do..cas
2150: 65 20 24 61 72 67 20 69 6e 0a 09 2d 63 29 0a 09  e $arg in..-c)..
2160: 20 20 20 6d 6f 64 65 3d 63 6f 6d 70 69 6c 65 0a     mode=compile.
2170: 09 20 20 20 62 72 65 61 6b 0a 09 20 20 20 3b 3b  .   break..   ;;
2180: 0a 09 65 73 61 63 0a 20 20 20 20 20 20 64 6f 6e  ..esac.      don
2190: 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a  e.      ;;.    *
21a0: 64 62 20 7c 20 2a 64 62 78 20 7c 20 2a 73 74 72  db | *dbx | *str
21b0: 61 63 65 20 7c 20 2a 74 72 75 73 73 29 0a 20 20  ace | *truss).  
21c0: 20 20 20 20 6d 6f 64 65 3d 65 78 65 63 75 74 65      mode=execute
21d0: 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a 69  .      ;;.    *i
21e0: 6e 73 74 61 6c 6c 2a 7c 63 70 7c 6d 76 29 0a 20  nstall*|cp|mv). 
21f0: 20 20 20 20 20 6d 6f 64 65 3d 69 6e 73 74 61 6c       mode=instal
2200: 6c 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a  l.      ;;.    *
2210: 72 6d 29 0a 20 20 20 20 20 20 6d 6f 64 65 3d 75  rm).      mode=u
2220: 6e 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20 3b  ninstall.      ;
2230: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 23  ;.    *).      #
2240: 20 49 66 20 77 65 20 68 61 76 65 20 6e 6f 20 6d   If we have no m
2250: 6f 64 65 2c 20 62 75 74 20 64 6c 66 69 6c 65 73  ode, but dlfiles
2260: 20 77 65 72 65 20 73 70 65 63 69 66 69 65 64 2c   were specified,
2270: 20 74 68 65 6e 20 64 6f 20 65 78 65 63 75 74 65   then do execute
2280: 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 74 65 73   mode..      tes
2290: 74 20 2d 6e 20 22 24 65 78 65 63 75 74 65 5f 64  t -n "$execute_d
22a0: 6c 66 69 6c 65 73 22 20 26 26 20 6d 6f 64 65 3d  lfiles" && mode=
22b0: 65 78 65 63 75 74 65 0a 0a 20 20 20 20 20 20 23  execute..      #
22c0: 20 4a 75 73 74 20 75 73 65 20 74 68 65 20 64 65   Just use the de
22d0: 66 61 75 6c 74 20 6f 70 65 72 61 74 69 6f 6e 20  fault operation 
22e0: 6d 6f 64 65 2e 0a 20 20 20 20 20 20 69 66 20 74  mode..      if t
22f0: 65 73 74 20 2d 7a 20 22 24 6d 6f 64 65 22 3b 20  est -z "$mode"; 
2300: 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e  then..if test -n
2310: 20 22 24 6e 6f 6e 6f 70 74 22 3b 20 74 68 65 6e   "$nonopt"; then
2320: 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
2330: 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 63  name: warning: c
2340: 61 6e 6e 6f 74 20 69 6e 66 65 72 20 6f 70 65 72  annot infer oper
2350: 61 74 69 6f 6e 20 6d 6f 64 65 20 66 72 6f 6d 20  ation mode from 
2360: 5c 60 24 6e 6f 6e 6f 70 74 27 22 20 31 3e 26 32  \`$nonopt'" 1>&2
2370: 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 20  ..else..  $echo 
2380: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
2390: 69 6e 67 3a 20 63 61 6e 6e 6f 74 20 69 6e 66 65  ing: cannot infe
23a0: 72 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f 64 65  r operation mode
23b0: 20 77 69 74 68 6f 75 74 20 4d 4f 44 45 2d 41 52   without MODE-AR
23c0: 47 53 22 20 31 3e 26 32 0a 09 66 69 0a 20 20 20  GS" 1>&2..fi.   
23d0: 20 20 20 66 69 0a 20 20 20 20 20 20 3b 3b 0a 20     fi.      ;;. 
23e0: 20 20 20 65 73 61 63 0a 20 20 66 69 0a 0a 20 20     esac.  fi..  
23f0: 23 20 4f 6e 6c 79 20 65 78 65 63 75 74 65 20 6d  # Only execute m
2400: 6f 64 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 74  ode is allowed t
2410: 6f 20 68 61 76 65 20 2d 64 6c 6f 70 65 6e 20 66  o have -dlopen f
2420: 6c 61 67 73 2e 0a 20 20 69 66 20 74 65 73 74 20  lags..  if test 
2430: 2d 6e 20 22 24 65 78 65 63 75 74 65 5f 64 6c 66  -n "$execute_dlf
2440: 69 6c 65 73 22 20 26 26 20 74 65 73 74 20 22 24  iles" && test "$
2450: 6d 6f 64 65 22 20 21 3d 20 65 78 65 63 75 74 65  mode" != execute
2460: 3b 20 74 68 65 6e 0a 20 20 20 20 24 65 63 68 6f  ; then.    $echo
2470: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 6e 72   "$modename: unr
2480: 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f 6e  ecognized option
2490: 20 5c 60 2d 64 6c 6f 70 65 6e 27 22 20 31 3e 26   \`-dlopen'" 1>&
24a0: 32 0a 20 20 20 20 24 65 63 68 6f 20 22 24 68 65  2.    $echo "$he
24b0: 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65 78 69  lp" 1>&2.    exi
24c0: 74 20 31 0a 20 20 66 69 0a 0a 20 20 23 20 43 68  t 1.  fi..  # Ch
24d0: 61 6e 67 65 20 74 68 65 20 68 65 6c 70 20 6d 65  ange the help me
24e0: 73 73 61 67 65 20 74 6f 20 61 20 6d 6f 64 65 2d  ssage to a mode-
24f0: 73 70 65 63 69 66 69 63 20 6f 6e 65 2e 0a 20 20  specific one..  
2500: 67 65 6e 65 72 69 63 5f 68 65 6c 70 3d 22 24 68  generic_help="$h
2510: 65 6c 70 22 0a 20 20 68 65 6c 70 3d 22 54 72 79  elp".  help="Try
2520: 20 5c 60 24 6d 6f 64 65 6e 61 6d 65 20 2d 2d 68   \`$modename --h
2530: 65 6c 70 20 2d 2d 6d 6f 64 65 3d 24 6d 6f 64 65  elp --mode=$mode
2540: 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72  ' for more infor
2550: 6d 61 74 69 6f 6e 2e 22 0a 0a 20 20 23 20 54 68  mation."..  # Th
2560: 65 73 65 20 6d 6f 64 65 73 20 61 72 65 20 69 6e  ese modes are in
2570: 20 6f 72 64 65 72 20 6f 66 20 65 78 65 63 75 74   order of execut
2580: 69 6f 6e 20 66 72 65 71 75 65 6e 63 79 20 73 6f  ion frequency so
2590: 20 74 68 61 74 20 74 68 65 79 20 72 75 6e 20 71   that they run q
25a0: 75 69 63 6b 6c 79 2e 0a 20 20 63 61 73 65 20 24  uickly..  case $
25b0: 6d 6f 64 65 20 69 6e 0a 20 20 23 20 6c 69 62 74  mode in.  # libt
25c0: 6f 6f 6c 20 63 6f 6d 70 69 6c 65 20 6d 6f 64 65  ool compile mode
25d0: 0a 20 20 63 6f 6d 70 69 6c 65 29 0a 20 20 20 20  .  compile).    
25e0: 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64 65 6e  modename="$moden
25f0: 61 6d 65 3a 20 63 6f 6d 70 69 6c 65 22 0a 20 20  ame: compile".  
2600: 20 20 23 20 47 65 74 20 74 68 65 20 63 6f 6d 70    # Get the comp
2610: 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20  ilation command 
2620: 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 66  and the source f
2630: 69 6c 65 2e 0a 20 20 20 20 62 61 73 65 5f 63 6f  ile..    base_co
2640: 6d 70 69 6c 65 3d 0a 20 20 20 20 73 72 63 66 69  mpile=.    srcfi
2650: 6c 65 3d 22 24 6e 6f 6e 6f 70 74 22 20 20 23 20  le="$nonopt"  # 
2660: 20 61 6c 77 61 79 73 20 6b 65 65 70 20 61 20 6e   always keep a n
2670: 6f 6e 2d 65 6d 70 74 79 20 76 61 6c 75 65 20 69  on-empty value i
2680: 6e 20 22 73 72 63 66 69 6c 65 22 0a 20 20 20 20  n "srcfile".    
2690: 73 75 70 70 72 65 73 73 5f 6f 70 74 3d 79 65 73  suppress_opt=yes
26a0: 0a 20 20 20 20 73 75 70 70 72 65 73 73 5f 6f 75  .    suppress_ou
26b0: 74 70 75 74 3d 0a 20 20 20 20 61 72 67 5f 6d 6f  tput=.    arg_mo
26c0: 64 65 3d 6e 6f 72 6d 61 6c 0a 20 20 20 20 6c 69  de=normal.    li
26d0: 62 6f 62 6a 3d 0a 20 20 20 20 6c 61 74 65 72 3d  bobj=.    later=
26e0: 0a 0a 20 20 20 20 66 6f 72 20 61 72 67 0a 20 20  ..    for arg.  
26f0: 20 20 64 6f 0a 20 20 20 20 20 20 63 61 73 65 20    do.      case 
2700: 22 24 61 72 67 5f 6d 6f 64 65 22 20 69 6e 0a 20  "$arg_mode" in. 
2710: 20 20 20 20 20 61 72 67 20 20 29 0a 09 23 20 64       arg  )..# d
2720: 6f 20 6e 6f 74 20 22 63 6f 6e 74 69 6e 75 65 22  o not "continue"
2730: 2e 20 20 49 6e 73 74 65 61 64 2c 20 61 64 64 20  .  Instead, add 
2740: 74 68 69 73 20 74 6f 20 62 61 73 65 5f 63 6f 6d  this to base_com
2750: 70 69 6c 65 0a 09 6c 61 73 74 61 72 67 3d 22 24  pile..lastarg="$
2760: 61 72 67 22 0a 09 61 72 67 5f 6d 6f 64 65 3d 6e  arg"..arg_mode=n
2770: 6f 72 6d 61 6c 0a 09 3b 3b 0a 0a 20 20 20 20 20  ormal..;;..     
2780: 20 74 61 72 67 65 74 20 29 0a 09 6c 69 62 6f 62   target )..libob
2790: 6a 3d 22 24 61 72 67 22 0a 09 61 72 67 5f 6d 6f  j="$arg"..arg_mo
27a0: 64 65 3d 6e 6f 72 6d 61 6c 0a 09 63 6f 6e 74 69  de=normal..conti
27b0: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 6e  nue..;;..      n
27c0: 6f 72 6d 61 6c 20 29 0a 09 23 20 41 63 63 65 70  ormal )..# Accep
27d0: 74 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 2d 6c 69  t any command-li
27e0: 6e 65 20 6f 70 74 69 6f 6e 73 2e 0a 09 63 61 73  ne options...cas
27f0: 65 20 24 61 72 67 20 69 6e 0a 09 2d 6f 29 0a 09  e $arg in..-o)..
2800: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6c    if test -n "$l
2810: 69 62 6f 62 6a 22 20 3b 20 74 68 65 6e 0a 09 20  ibobj" ; then.. 
2820: 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
2830: 61 6d 65 3a 20 79 6f 75 20 63 61 6e 6e 6f 74 20  ame: you cannot 
2840: 73 70 65 63 69 66 79 20 5c 60 2d 6f 27 20 6d 6f  specify \`-o' mo
2850: 72 65 20 74 68 61 6e 20 6f 6e 63 65 22 20 31 3e  re than once" 1>
2860: 26 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09  &2..    exit 1..
2870: 20 20 66 69 0a 09 20 20 61 72 67 5f 6d 6f 64 65    fi..  arg_mode
2880: 3d 74 61 72 67 65 74 0a 09 20 20 63 6f 6e 74 69  =target..  conti
2890: 6e 75 65 0a 09 20 20 3b 3b 0a 0a 09 2d 73 74 61  nue..  ;;...-sta
28a0: 74 69 63 20 7c 20 2d 70 72 65 66 65 72 2d 70 69  tic | -prefer-pi
28b0: 63 20 7c 20 2d 70 72 65 66 65 72 2d 6e 6f 6e 2d  c | -prefer-non-
28c0: 70 69 63 29 0a 09 20 20 6c 61 74 65 72 3d 22 24  pic)..  later="$
28d0: 6c 61 74 65 72 20 24 61 72 67 22 0a 09 20 20 63  later $arg"..  c
28e0: 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 0a 09  ontinue..  ;;...
28f0: 2d 6e 6f 2d 73 75 70 70 72 65 73 73 29 0a 09 20  -no-suppress).. 
2900: 20 73 75 70 70 72 65 73 73 5f 6f 70 74 3d 6e 6f   suppress_opt=no
2910: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
2920: 3b 3b 0a 0a 09 2d 58 63 6f 6d 70 69 6c 65 72 29  ;;...-Xcompiler)
2930: 0a 09 20 20 61 72 67 5f 6d 6f 64 65 3d 61 72 67  ..  arg_mode=arg
2940: 20 20 23 20 20 74 68 65 20 6e 65 78 74 20 6f 6e    #  the next on
2950: 65 20 67 6f 65 73 20 69 6e 74 6f 20 74 68 65 20  e goes into the 
2960: 22 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 20 61  "base_compile" a
2970: 72 67 20 6c 69 73 74 0a 09 20 20 63 6f 6e 74 69  rg list..  conti
2980: 6e 75 65 20 20 20 20 20 20 23 20 20 54 68 65 20  nue      #  The 
2990: 63 75 72 72 65 6e 74 20 22 73 72 63 66 69 6c 65  current "srcfile
29a0: 22 20 77 69 6c 6c 20 65 69 74 68 65 72 20 62 65  " will either be
29b0: 20 72 65 74 61 69 6e 65 64 20 6f 72 0a 09 20 20   retained or..  
29c0: 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 23 20  ;;            # 
29d0: 20 72 65 70 6c 61 63 65 64 20 6c 61 74 65 72 2e   replaced later.
29e0: 20 20 49 20 77 6f 75 6c 64 20 67 75 65 73 73 20    I would guess 
29f0: 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 61 20  that would be a 
2a00: 62 75 67 2e 0a 0a 09 2d 57 63 2c 2a 29 0a 09 20  bug....-Wc,*).. 
2a10: 20 61 72 67 73 3d 60 24 65 63 68 6f 20 22 58 24   args=`$echo "X$
2a20: 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20  arg" | $Xsed -e 
2a30: 22 73 2f 5e 2d 57 63 2c 2f 2f 22 60 0a 09 20 20  "s/^-Wc,//"`..  
2a40: 6c 61 73 74 61 72 67 3d 0a 09 20 20 73 61 76 65  lastarg=..  save
2a50: 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53  _ifs="$IFS"; IFS
2a60: 3d 27 2c 27 0a 09 20 20 66 6f 72 20 61 72 67 20  =','..  for arg 
2a70: 69 6e 20 24 61 72 67 73 3b 20 64 6f 0a 09 20 20  in $args; do..  
2a80: 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73    IFS="$save_ifs
2a90: 22 0a 0a 09 20 20 20 20 23 20 44 6f 75 62 6c 65  "...    # Double
2aa0: 2d 71 75 6f 74 65 20 61 72 67 73 20 63 6f 6e 74  -quote args cont
2ab0: 61 69 6e 69 6e 67 20 6f 74 68 65 72 20 73 68 65  aining other she
2ac0: 6c 6c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72  ll metacharacter
2ad0: 73 2e 0a 09 20 20 20 20 23 20 4d 61 6e 79 20 42  s...    # Many B
2ae0: 6f 75 72 6e 65 20 73 68 65 6c 6c 73 20 63 61 6e  ourne shells can
2af0: 6e 6f 74 20 68 61 6e 64 6c 65 20 63 6c 6f 73 65  not handle close
2b00: 20 62 72 61 63 6b 65 74 73 20 63 6f 72 72 65 63   brackets correc
2b10: 74 6c 79 0a 09 20 20 20 20 23 20 69 6e 20 73 63  tly..    # in sc
2b20: 61 6e 20 73 65 74 73 2c 20 73 6f 20 77 65 20 73  an sets, so we s
2b30: 70 65 63 69 66 79 20 69 74 20 73 65 70 61 72 61  pecify it separa
2b40: 74 65 6c 79 2e 0a 09 20 20 20 20 63 61 73 65 20  tely...    case 
2b50: 24 61 72 67 20 69 6e 0a 09 20 20 20 20 20 20 2a  $arg in..      *
2b60: 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c  [\[\~\#\^\&\*\(\
2b70: 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c  )\{\}\|\;\<\>\?\
2b80: 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a  '\ \.]*|*]*|"").
2b90: 09 20 20 20 20 20 20 61 72 67 3d 22 5c 22 24 61  .      arg="\"$a
2ba0: 72 67 5c 22 22 0a 09 20 20 20 20 20 20 3b 3b 0a  rg\""..      ;;.
2bb0: 09 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 6c  .    esac..    l
2bc0: 61 73 74 61 72 67 3d 22 24 6c 61 73 74 61 72 67  astarg="$lastarg
2bd0: 20 24 61 72 67 22 0a 09 20 20 64 6f 6e 65 0a 09   $arg"..  done..
2be0: 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73    IFS="$save_ifs
2bf0: 22 0a 09 20 20 6c 61 73 74 61 72 67 3d 60 24 65  "..  lastarg=`$e
2c00: 63 68 6f 20 22 58 24 6c 61 73 74 61 72 67 22 20  cho "X$lastarg" 
2c10: 7c 20 24 58 73 65 64 20 2d 65 20 22 73 2f 5e 20  | $Xsed -e "s/^ 
2c20: 2f 2f 22 60 0a 0a 09 20 20 23 20 41 64 64 20 74  //"`...  # Add t
2c30: 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20  he arguments to 
2c40: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 2e 0a 09 20  base_compile... 
2c50: 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d 22 24   base_compile="$
2c60: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24 6c 61  base_compile $la
2c70: 73 74 61 72 67 22 0a 09 20 20 63 6f 6e 74 69 6e  starg"..  contin
2c80: 75 65 0a 09 20 20 3b 3b 0a 0a 09 2a 20 29 0a 09  ue..  ;;...* )..
2c90: 20 20 23 20 41 63 63 65 70 74 20 74 68 65 20 63    # Accept the c
2ca0: 75 72 72 65 6e 74 20 61 72 67 75 6d 65 6e 74 20  urrent argument 
2cb0: 61 73 20 74 68 65 20 73 6f 75 72 63 65 20 66 69  as the source fi
2cc0: 6c 65 2e 0a 09 20 20 23 20 54 68 65 20 70 72 65  le...  # The pre
2cd0: 76 69 6f 75 73 20 22 73 72 63 66 69 6c 65 22 20  vious "srcfile" 
2ce0: 62 65 63 6f 6d 65 73 20 74 68 65 20 63 75 72 72  becomes the curr
2cf0: 65 6e 74 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20  ent argument... 
2d00: 20 23 0a 09 20 20 6c 61 73 74 61 72 67 3d 22 24   #..  lastarg="$
2d10: 73 72 63 66 69 6c 65 22 0a 09 20 20 73 72 63 66  srcfile"..  srcf
2d20: 69 6c 65 3d 22 24 61 72 67 22 0a 09 20 20 3b 3b  ile="$arg"..  ;;
2d30: 0a 09 65 73 61 63 20 20 23 20 20 63 61 73 65 20  ..esac  #  case 
2d40: 24 61 72 67 0a 09 3b 3b 0a 20 20 20 20 20 20 65  $arg..;;.      e
2d50: 73 61 63 20 20 20 20 23 20 20 63 61 73 65 20 24  sac    #  case $
2d60: 61 72 67 5f 6d 6f 64 65 0a 0a 20 20 20 20 20 20  arg_mode..      
2d70: 23 20 41 65 73 74 68 65 74 69 63 61 6c 6c 79 20  # Aesthetically 
2d80: 71 75 6f 74 65 20 74 68 65 20 70 72 65 76 69 6f  quote the previo
2d90: 75 73 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20  us argument..   
2da0: 20 20 20 6c 61 73 74 61 72 67 3d 60 24 65 63 68     lastarg=`$ech
2db0: 6f 20 22 58 24 6c 61 73 74 61 72 67 22 20 7c 20  o "X$lastarg" | 
2dc0: 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
2dd0: 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 0a 20 20  uote_subst"`..  
2de0: 20 20 20 20 63 61 73 65 20 24 6c 61 73 74 61 72      case $lastar
2df0: 67 20 69 6e 0a 20 20 20 20 20 20 23 20 44 6f 75  g in.      # Dou
2e00: 62 6c 65 2d 71 75 6f 74 65 20 61 72 67 73 20 63  ble-quote args c
2e10: 6f 6e 74 61 69 6e 69 6e 67 20 6f 74 68 65 72 20  ontaining other 
2e20: 73 68 65 6c 6c 20 6d 65 74 61 63 68 61 72 61 63  shell metacharac
2e30: 74 65 72 73 2e 0a 20 20 20 20 20 20 23 20 4d 61  ters..      # Ma
2e40: 6e 79 20 42 6f 75 72 6e 65 20 73 68 65 6c 6c 73  ny Bourne shells
2e50: 20 63 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 63   cannot handle c
2e60: 6c 6f 73 65 20 62 72 61 63 6b 65 74 73 20 63 6f  lose brackets co
2e70: 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 23 20  rrectly.      # 
2e80: 69 6e 20 73 63 61 6e 20 73 65 74 73 2c 20 73 6f  in scan sets, so
2e90: 20 77 65 20 73 70 65 63 69 66 79 20 69 74 20 73   we specify it s
2ea0: 65 70 61 72 61 74 65 6c 79 2e 0a 20 20 20 20 20  eparately..     
2eb0: 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c   *[\[\~\#\^\&\*\
2ec0: 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c  (\)\{\}\|\;\<\>\
2ed0: 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22  ?\'\ \.]*|*]*|""
2ee0: 29 0a 09 6c 61 73 74 61 72 67 3d 22 5c 22 24 6c  )..lastarg="\"$l
2ef0: 61 73 74 61 72 67 5c 22 22 0a 09 3b 3b 0a 20 20  astarg\""..;;.  
2f00: 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20 20      esac..      
2f10: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d 22 24 62  base_compile="$b
2f20: 61 73 65 5f 63 6f 6d 70 69 6c 65 20 24 6c 61 73  ase_compile $las
2f30: 74 61 72 67 22 0a 20 20 20 20 64 6f 6e 65 20 23  targ".    done #
2f40: 20 66 6f 72 20 61 72 67 0a 0a 20 20 20 20 63 61   for arg..    ca
2f50: 73 65 20 24 61 72 67 5f 6d 6f 64 65 20 69 6e 0a  se $arg_mode in.
2f60: 20 20 20 20 61 72 67 29 0a 20 20 20 20 20 20 24      arg).      $
2f70: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
2f80: 20 79 6f 75 20 6d 75 73 74 20 73 70 65 63 69 66   you must specif
2f90: 79 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 66 6f  y an argument fo
2fa0: 72 20 2d 58 63 6f 6d 70 69 6c 65 22 0a 20 20 20  r -Xcompile".   
2fb0: 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 20 20     exit 1.      
2fc0: 3b 3b 0a 20 20 20 20 74 61 72 67 65 74 29 0a 20  ;;.    target). 
2fd0: 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64       $echo "$mod
2fe0: 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20  ename: you must 
2ff0: 73 70 65 63 69 66 79 20 61 20 74 61 72 67 65 74  specify a target
3000: 20 77 69 74 68 20 5c 60 2d 6f 27 22 20 31 3e 26   with \`-o'" 1>&
3010: 32 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20  2.      exit 1. 
3020: 20 20 20 20 20 3b 3b 0a 20 20 20 20 2a 29 0a 20       ;;.    *). 
3030: 20 20 20 20 20 23 20 47 65 74 20 74 68 65 20 6e       # Get the n
3040: 61 6d 65 20 6f 66 20 74 68 65 20 6c 69 62 72 61  ame of the libra
3050: 72 79 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20  ry object..     
3060: 20 5b 20 2d 7a 20 22 24 6c 69 62 6f 62 6a 22 20   [ -z "$libobj" 
3070: 5d 20 26 26 20 6c 69 62 6f 62 6a 3d 60 24 65 63  ] && libobj=`$ec
3080: 68 6f 20 22 58 24 73 72 63 66 69 6c 65 22 20 7c  ho "X$srcfile" |
3090: 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a   $Xsed -e 's%^.*
30a0: 2f 25 25 27 60 0a 20 20 20 20 20 20 3b 3b 0a 20  /%%'`.      ;;. 
30b0: 20 20 20 65 73 61 63 0a 0a 20 20 20 20 23 20 52     esac..    # R
30c0: 65 63 6f 67 6e 69 7a 65 20 73 65 76 65 72 61 6c  ecognize several
30d0: 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20   different file 
30e0: 73 75 66 66 69 78 65 73 2e 0a 20 20 20 20 23 20  suffixes..    # 
30f0: 49 66 20 74 68 65 20 75 73 65 72 20 73 70 65 63  If the user spec
3100: 69 66 69 65 73 20 2d 6f 20 66 69 6c 65 2e 6f 2c  ifies -o file.o,
3110: 20 69 74 20 69 73 20 72 65 70 6c 61 63 65 64 20   it is replaced 
3120: 77 69 74 68 20 66 69 6c 65 2e 6c 6f 0a 20 20 20  with file.lo.   
3130: 20 78 66 6f 72 6d 3d 27 5b 63 43 46 53 69 66 6d   xform='[cCFSifm
3140: 73 6f 5d 27 0a 20 20 20 20 63 61 73 65 20 24 6c  so]'.    case $l
3150: 69 62 6f 62 6a 20 69 6e 0a 20 20 20 20 2a 2e 61  ibobj in.    *.a
3160: 64 61 29 20 78 66 6f 72 6d 3d 61 64 61 20 3b 3b  da) xform=ada ;;
3170: 0a 20 20 20 20 2a 2e 61 64 62 29 20 78 66 6f 72  .    *.adb) xfor
3180: 6d 3d 61 64 62 20 3b 3b 0a 20 20 20 20 2a 2e 61  m=adb ;;.    *.a
3190: 64 73 29 20 78 66 6f 72 6d 3d 61 64 73 20 3b 3b  ds) xform=ads ;;
31a0: 0a 20 20 20 20 2a 2e 61 73 6d 29 20 78 66 6f 72  .    *.asm) xfor
31b0: 6d 3d 61 73 6d 20 3b 3b 0a 20 20 20 20 2a 2e 63  m=asm ;;.    *.c
31c0: 2b 2b 29 20 78 66 6f 72 6d 3d 63 2b 2b 20 3b 3b  ++) xform=c++ ;;
31d0: 0a 20 20 20 20 2a 2e 63 63 29 20 78 66 6f 72 6d  .    *.cc) xform
31e0: 3d 63 63 20 3b 3b 0a 20 20 20 20 2a 2e 69 69 29  =cc ;;.    *.ii)
31f0: 20 78 66 6f 72 6d 3d 69 69 20 3b 3b 0a 20 20 20   xform=ii ;;.   
3200: 20 2a 2e 63 6c 61 73 73 29 20 78 66 6f 72 6d 3d   *.class) xform=
3210: 63 6c 61 73 73 20 3b 3b 0a 20 20 20 20 2a 2e 63  class ;;.    *.c
3220: 70 70 29 20 78 66 6f 72 6d 3d 63 70 70 20 3b 3b  pp) xform=cpp ;;
3230: 0a 20 20 20 20 2a 2e 63 78 78 29 20 78 66 6f 72  .    *.cxx) xfor
3240: 6d 3d 63 78 78 20 3b 3b 0a 20 20 20 20 2a 2e 66  m=cxx ;;.    *.f
3250: 39 30 29 20 78 66 6f 72 6d 3d 66 39 30 20 3b 3b  90) xform=f90 ;;
3260: 0a 20 20 20 20 2a 2e 66 6f 72 29 20 78 66 6f 72  .    *.for) xfor
3270: 6d 3d 66 6f 72 20 3b 3b 0a 20 20 20 20 2a 2e 6a  m=for ;;.    *.j
3280: 61 76 61 29 20 78 66 6f 72 6d 3d 6a 61 76 61 20  ava) xform=java 
3290: 3b 3b 0a 20 20 20 20 65 73 61 63 0a 0a 20 20 20  ;;.    esac..   
32a0: 20 6c 69 62 6f 62 6a 3d 60 24 65 63 68 6f 20 22   libobj=`$echo "
32b0: 58 24 6c 69 62 6f 62 6a 22 20 7c 20 24 58 73 65  X$libobj" | $Xse
32c0: 64 20 2d 65 20 22 73 2f 5c 2e 24 78 66 6f 72 6d  d -e "s/\.$xform
32d0: 24 2f 2e 6c 6f 2f 22 60 0a 0a 20 20 20 20 63 61  $/.lo/"`..    ca
32e0: 73 65 20 24 6c 69 62 6f 62 6a 20 69 6e 0a 20 20  se $libobj in.  
32f0: 20 20 2a 2e 6c 6f 29 20 6f 62 6a 3d 60 24 65 63    *.lo) obj=`$ec
3300: 68 6f 20 22 58 24 6c 69 62 6f 62 6a 22 20 7c 20  ho "X$libobj" | 
3310: 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22  $Xsed -e "$lo2o"
3320: 60 20 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20  ` ;;.    *).    
3330: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
3340: 6d 65 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65 72  me: cannot deter
3350: 6d 69 6e 65 20 6e 61 6d 65 20 6f 66 20 6c 69 62  mine name of lib
3360: 72 61 72 79 20 6f 62 6a 65 63 74 20 66 72 6f 6d  rary object from
3370: 20 5c 60 24 6c 69 62 6f 62 6a 27 22 20 31 3e 26   \`$libobj'" 1>&
3380: 32 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20  2.      exit 1. 
3390: 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63       ;;.    esac
33a0: 0a 0a 20 20 20 20 23 20 49 6e 66 65 72 20 74 61  ..    # Infer ta
33b0: 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69  gged configurati
33c0: 6f 6e 20 74 6f 20 75 73 65 20 69 66 20 61 6e 79  on to use if any
33d0: 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 61   are available a
33e0: 6e 64 0a 20 20 20 20 23 20 69 66 20 6f 6e 65 20  nd.    # if one 
33f0: 77 61 73 6e 27 74 20 63 68 6f 73 65 6e 20 76 69  wasn't chosen vi
3400: 61 20 74 68 65 20 22 2d 2d 74 61 67 22 20 63 6f  a the "--tag" co
3410: 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f  mmand line optio
3420: 6e 2e 0a 20 20 20 20 23 20 4f 6e 6c 79 20 61 74  n..    # Only at
3430: 74 65 6d 70 74 20 74 68 69 73 20 69 66 20 74 68  tempt this if th
3440: 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20 74 68  e compiler in th
3450: 65 20 62 61 73 65 20 63 6f 6d 70 69 6c 65 0a 20  e base compile. 
3460: 20 20 20 23 20 63 6f 6d 6d 61 6e 64 20 64 6f 65     # command doe
3470: 73 6e 27 74 20 6d 61 74 63 68 20 74 68 65 20 64  sn't match the d
3480: 65 66 61 75 6c 74 20 63 6f 6d 70 69 6c 65 72 2e  efault compiler.
3490: 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
34a0: 22 24 61 76 61 69 6c 61 62 6c 65 5f 74 61 67 73  "$available_tags
34b0: 22 20 26 26 20 74 65 73 74 20 2d 7a 20 22 24 74  " && test -z "$t
34c0: 61 67 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 20 20  agname"; then.  
34d0: 20 20 20 20 63 61 73 65 20 24 62 61 73 65 5f 63      case $base_c
34e0: 6f 6d 70 69 6c 65 20 69 6e 0a 20 20 20 20 20 20  ompile in.      
34f0: 23 20 42 6c 61 6e 6b 73 20 69 6e 20 74 68 65 20  # Blanks in the 
3500: 63 6f 6d 6d 61 6e 64 20 6d 61 79 20 68 61 76 65  command may have
3510: 20 62 65 65 6e 20 73 74 72 69 70 70 65 64 20 62   been stripped b
3520: 79 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 73 68  y the calling sh
3530: 65 6c 6c 2c 0a 20 20 20 20 20 20 23 20 62 75 74  ell,.      # but
3540: 20 6e 6f 74 20 66 72 6f 6d 20 74 68 65 20 43 43   not from the CC
3550: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
3560: 69 61 62 6c 65 20 77 68 65 6e 20 63 6f 6e 66 69  iable when confi
3570: 67 75 72 65 20 77 61 73 20 72 75 6e 2e 0a 20 20  gure was run..  
3580: 20 20 20 20 22 20 24 43 43 20 22 2a 20 7c 20 22      " $CC "* | "
3590: 24 43 43 20 22 2a 20 7c 20 22 20 60 24 65 63 68  $CC "* | " `$ech
35a0: 6f 20 24 43 43 60 20 22 2a 20 7c 20 22 60 24 65  o $CC` "* | "`$e
35b0: 63 68 6f 20 24 43 43 60 20 22 2a 29 20 3b 3b 0a  cho $CC` "*) ;;.
35c0: 20 20 20 20 20 20 23 20 42 6c 61 6e 6b 73 20 61        # Blanks a
35d0: 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 24  t the start of $
35e0: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 20 77 69 6c  base_compile wil
35f0: 6c 20 63 61 75 73 65 20 74 68 69 73 20 74 6f 20  l cause this to 
3600: 66 61 69 6c 0a 20 20 20 20 20 20 23 20 69 66 20  fail.      # if 
3610: 77 65 20 64 6f 6e 27 74 20 63 68 65 63 6b 20 66  we don't check f
3620: 6f 72 20 74 68 65 6d 20 61 73 20 77 65 6c 6c 2e  or them as well.
3630: 0a 20 20 20 20 20 20 2a 29 0a 09 66 6f 72 20 7a  .      *)..for z
3640: 20 69 6e 20 24 61 76 61 69 6c 61 62 6c 65 5f 74   in $available_t
3650: 61 67 73 3b 20 64 6f 0a 09 20 20 69 66 20 67 72  ags; do..  if gr
3660: 65 70 20 22 5e 23 20 23 23 23 20 42 45 47 49 4e  ep "^# ### BEGIN
3670: 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e   LIBTOOL TAG CON
3680: 46 49 47 3a 20 24 7a 24 22 20 3c 20 22 24 30 22  FIG: $z$" < "$0"
3690: 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68   > /dev/null; th
36a0: 65 6e 0a 09 20 20 20 20 23 20 45 76 61 6c 75 61  en..    # Evalua
36b0: 74 65 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61  te the configura
36c0: 74 69 6f 6e 2e 0a 09 20 20 20 20 65 76 61 6c 20  tion...    eval 
36d0: 22 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27  "`${SED} -n -e '
36e0: 2f 5e 23 20 23 23 23 20 42 45 47 49 4e 20 4c 49  /^# ### BEGIN LI
36f0: 42 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49 47  BTOOL TAG CONFIG
3700: 3a 20 27 24 7a 27 24 2f 2c 2f 5e 23 20 23 23 23  : '$z'$/,/^# ###
3710: 20 45 4e 44 20 4c 49 42 54 4f 4f 4c 20 54 41 47   END LIBTOOL TAG
3720: 20 43 4f 4e 46 49 47 3a 20 27 24 7a 27 24 2f 70   CONFIG: '$z'$/p
3730: 27 20 3c 20 24 30 60 22 0a 09 20 20 20 20 63 61  ' < $0`"..    ca
3740: 73 65 20 22 24 62 61 73 65 5f 63 6f 6d 70 69 6c  se "$base_compil
3750: 65 20 22 20 69 6e 0a 09 20 20 20 20 22 24 43 43  e " in..    "$CC
3760: 20 22 2a 20 7c 20 22 20 24 43 43 20 22 2a 20 7c   "* | " $CC "* |
3770: 20 22 60 24 65 63 68 6f 20 24 43 43 60 20 22 2a   "`$echo $CC` "*
3780: 20 7c 20 22 20 60 24 65 63 68 6f 20 24 43 43 60   | " `$echo $CC`
3790: 20 22 2a 29 0a 09 20 20 20 20 20 20 23 20 54 68   "*)..      # Th
37a0: 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20 74 68  e compiler in th
37b0: 65 20 62 61 73 65 20 63 6f 6d 70 69 6c 65 20 63  e base compile c
37c0: 6f 6d 6d 61 6e 64 20 6d 61 74 63 68 65 73 0a 09  ommand matches..
37d0: 20 20 20 20 20 20 23 20 74 68 65 20 6f 6e 65 20        # the one 
37e0: 69 6e 20 74 68 65 20 74 61 67 67 65 64 20 63 6f  in the tagged co
37f0: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 09 20 20  nfiguration...  
3800: 20 20 20 20 23 20 41 73 73 75 6d 65 20 74 68 69      # Assume thi
3810: 73 20 69 73 20 74 68 65 20 74 61 67 67 65 64 20  s is the tagged 
3820: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 65  configuration we
3830: 20 77 61 6e 74 2e 0a 09 20 20 20 20 20 20 74 61   want...      ta
3840: 67 6e 61 6d 65 3d 24 7a 0a 09 20 20 20 20 20 20  gname=$z..      
3850: 62 72 65 61 6b 0a 09 20 20 20 20 20 20 3b 3b 0a  break..      ;;.
3860: 09 20 20 20 20 65 73 61 63 0a 09 20 20 66 69 0a  .    esac..  fi.
3870: 09 64 6f 6e 65 0a 09 23 20 49 66 20 24 74 61 67  .done..# If $tag
3880: 6e 61 6d 65 20 73 74 69 6c 6c 20 69 73 6e 27 74  name still isn't
3890: 20 73 65 74 2c 20 74 68 65 6e 20 6e 6f 20 74 61   set, then no ta
38a0: 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69  gged configurati
38b0: 6f 6e 0a 09 23 20 77 61 73 20 66 6f 75 6e 64 20  on..# was found 
38c0: 61 6e 64 20 6c 65 74 20 74 68 65 20 75 73 65 72  and let the user
38d0: 20 6b 6e 6f 77 20 74 68 61 74 20 74 68 65 20 22   know that the "
38e0: 2d 2d 74 61 67 22 20 63 6f 6d 6d 61 6e 64 0a 09  --tag" command..
38f0: 23 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 20 6d 75  # line option mu
3900: 73 74 20 62 65 20 75 73 65 64 2e 0a 09 69 66 20  st be used...if 
3910: 74 65 73 74 20 2d 7a 20 22 24 74 61 67 6e 61 6d  test -z "$tagnam
3920: 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68  e"; then..  $ech
3930: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 75 6e  o "$modename: un
3940: 61 62 6c 65 20 74 6f 20 69 6e 66 65 72 20 74 61  able to infer ta
3950: 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69  gged configurati
3960: 6f 6e 22 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  on"..  $echo "$m
3970: 6f 64 65 6e 61 6d 65 3a 20 73 70 65 63 69 66 79  odename: specify
3980: 20 61 20 74 61 67 20 77 69 74 68 20 5c 60 2d 2d   a tag with \`--
3990: 74 61 67 27 22 20 31 3e 26 32 0a 09 20 20 65 78  tag'" 1>&2..  ex
39a0: 69 74 20 31 0a 23 20 20 20 20 20 20 20 20 65 6c  it 1.#        el
39b0: 73 65 0a 23 20 20 20 20 20 20 20 20 20 20 24 65  se.#          $e
39c0: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
39d0: 75 73 69 6e 67 20 24 74 61 67 6e 61 6d 65 20 74  using $tagname t
39e0: 61 67 67 65 64 20 63 6f 6e 66 69 67 75 72 61 74  agged configurat
39f0: 69 6f 6e 22 0a 09 66 69 0a 09 3b 3b 0a 20 20 20  ion"..fi..;;.   
3a00: 20 20 20 65 73 61 63 0a 20 20 20 20 66 69 0a 0a     esac.    fi..
3a10: 20 20 20 20 66 6f 72 20 61 72 67 20 69 6e 20 24      for arg in $
3a20: 6c 61 74 65 72 3b 20 64 6f 0a 20 20 20 20 20 20  later; do.      
3a30: 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20  case $arg in.   
3a40: 20 20 20 2d 73 74 61 74 69 63 29 0a 09 62 75 69     -static)..bui
3a50: 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a  ld_old_libs=yes.
3a60: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
3a70: 20 20 20 20 20 2d 70 72 65 66 65 72 2d 70 69 63       -prefer-pic
3a80: 29 0a 09 70 69 63 5f 6d 6f 64 65 3d 79 65 73 0a  )..pic_mode=yes.
3a90: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
3aa0: 20 20 20 20 20 2d 70 72 65 66 65 72 2d 6e 6f 6e       -prefer-non
3ab0: 2d 70 69 63 29 0a 09 70 69 63 5f 6d 6f 64 65 3d  -pic)..pic_mode=
3ac0: 6e 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b  no..continue..;;
3ad0: 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20  .      esac.    
3ae0: 64 6f 6e 65 0a 0a 20 20 20 20 6f 62 6a 6e 61 6d  done..    objnam
3af0: 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 22  e=`$echo "X$obj"
3b00: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
3b10: 2e 2a 2f 25 25 27 60 0a 20 20 20 20 78 64 69 72  .*/%%'`.    xdir
3b20: 3d 60 24 65 63 68 6f 20 22 58 24 6f 62 6a 22 20  =`$echo "X$obj" 
3b30: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b  | $Xsed -e 's%/[
3b40: 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 69 66  ^/]*$%%'`.    if
3b50: 20 74 65 73 74 20 22 58 24 78 64 69 72 22 20 3d   test "X$xdir" =
3b60: 20 22 58 24 6f 62 6a 22 3b 20 74 68 65 6e 0a 20   "X$obj"; then. 
3b70: 20 20 20 20 20 78 64 69 72 3d 0a 20 20 20 20 65       xdir=.    e
3b80: 6c 73 65 0a 20 20 20 20 20 20 78 64 69 72 3d 24  lse.      xdir=$
3b90: 78 64 69 72 2f 0a 20 20 20 20 66 69 0a 20 20 20  xdir/.    fi.   
3ba0: 20 6c 6f 62 6a 3d 24 7b 78 64 69 72 7d 24 6f 62   lobj=${xdir}$ob
3bb0: 6a 64 69 72 2f 24 6f 62 6a 6e 61 6d 65 0a 0a 20  jdir/$objname.. 
3bc0: 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
3bd0: 62 61 73 65 5f 63 6f 6d 70 69 6c 65 22 3b 20 74  base_compile"; t
3be0: 68 65 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20  hen.      $echo 
3bf0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20  "$modename: you 
3c00: 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 63  must specify a c
3c10: 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61  ompilation comma
3c20: 6e 64 22 20 31 3e 26 32 0a 20 20 20 20 20 20 24  nd" 1>&2.      $
3c30: 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e 26  echo "$help" 1>&
3c40: 32 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20  2.      exit 1. 
3c50: 20 20 20 66 69 0a 0a 20 20 20 20 23 20 44 65 6c     fi..    # Del
3c60: 65 74 65 20 61 6e 79 20 6c 65 66 74 6f 76 65 72  ete any leftover
3c70: 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 73   library objects
3c80: 2e 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
3c90: 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20  build_old_libs" 
3ca0: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20 20 20  = yes; then.    
3cb0: 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d 22 24 6f    removelist="$o
3cc0: 62 6a 20 24 6c 6f 62 6a 20 24 6c 69 62 6f 62 6a  bj $lobj $libobj
3cd0: 20 24 7b 6c 69 62 6f 62 6a 7d 54 22 0a 20 20 20   ${libobj}T".   
3ce0: 20 65 6c 73 65 0a 20 20 20 20 20 20 72 65 6d 6f   else.      remo
3cf0: 76 65 6c 69 73 74 3d 22 24 6c 6f 62 6a 20 24 6c  velist="$lobj $l
3d00: 69 62 6f 62 6a 20 24 7b 6c 69 62 6f 62 6a 7d 54  ibobj ${libobj}T
3d10: 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 24 72  ".    fi..    $r
3d20: 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69  un $rm $removeli
3d30: 73 74 0a 20 20 20 20 74 72 61 70 20 22 24 72 75  st.    trap "$ru
3d40: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
3d50: 74 3b 20 65 78 69 74 20 31 22 20 31 20 32 20 31  t; exit 1" 1 2 1
3d60: 35 0a 0a 20 20 20 20 23 20 4f 6e 20 43 79 67 77  5..    # On Cygw
3d70: 69 6e 20 74 68 65 72 65 27 73 20 6e 6f 20 22 72  in there's no "r
3d80: 65 61 6c 22 20 50 49 43 20 66 6c 61 67 20 73 6f  eal" PIC flag so
3d90: 20 77 65 20 6d 75 73 74 20 62 75 69 6c 64 20 62   we must build b
3da0: 6f 74 68 20 6f 62 6a 65 63 74 20 74 79 70 65 73  oth object types
3db0: 0a 20 20 20 20 63 61 73 65 20 24 68 6f 73 74 5f  .    case $host_
3dc0: 6f 73 20 69 6e 0a 20 20 20 20 63 79 67 77 69 6e  os in.    cygwin
3dd0: 2a 20 7c 20 6d 69 6e 67 77 2a 20 7c 20 70 77 33  * | mingw* | pw3
3de0: 32 2a 20 7c 20 6f 73 32 2a 29 0a 20 20 20 20 20  2* | os2*).     
3df0: 20 70 69 63 5f 6d 6f 64 65 3d 64 65 66 61 75 6c   pic_mode=defaul
3e00: 74 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  t.      ;;.    e
3e10: 73 61 63 0a 20 20 20 20 69 66 20 74 65 73 74 20  sac.    if test 
3e20: 22 24 70 69 63 5f 6d 6f 64 65 22 20 3d 20 6e 6f  "$pic_mode" = no
3e30: 20 26 26 20 74 65 73 74 20 22 24 64 65 70 6c 69   && test "$depli
3e40: 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68 6f 64 22  bs_check_method"
3e50: 20 21 3d 20 70 61 73 73 5f 61 6c 6c 3b 20 74 68   != pass_all; th
3e60: 65 6e 0a 20 20 20 20 20 20 23 20 6e 6f 6e 2d 50  en.      # non-P
3e70: 49 43 20 63 6f 64 65 20 69 6e 20 73 68 61 72 65  IC code in share
3e80: 64 20 6c 69 62 72 61 72 69 65 73 20 69 73 20 6e  d libraries is n
3e90: 6f 74 20 73 75 70 70 6f 72 74 65 64 0a 20 20 20  ot supported.   
3ea0: 20 20 20 70 69 63 5f 6d 6f 64 65 3d 64 65 66 61     pic_mode=defa
3eb0: 75 6c 74 0a 20 20 20 20 66 69 0a 0a 20 20 20 20  ult.    fi..    
3ec0: 23 20 43 61 6c 63 75 6c 61 74 65 20 74 68 65 20  # Calculate the 
3ed0: 66 69 6c 65 6e 61 6d 65 20 6f 66 20 74 68 65 20  filename of the 
3ee0: 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 69 66  output object if
3ef0: 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 0a 20   compiler does. 
3f00: 20 20 20 23 20 6e 6f 74 20 73 75 70 70 6f 72 74     # not support
3f10: 20 2d 6f 20 77 69 74 68 20 2d 63 0a 20 20 20 20   -o with -c.    
3f20: 69 66 20 74 65 73 74 20 22 24 63 6f 6d 70 69 6c  if test "$compil
3f30: 65 72 5f 63 5f 6f 22 20 3d 20 6e 6f 3b 20 74 68  er_c_o" = no; th
3f40: 65 6e 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f  en.      output_
3f50: 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58 24 73 72  obj=`$echo "X$sr
3f60: 63 66 69 6c 65 22 20 7c 20 24 58 73 65 64 20 2d  cfile" | $Xsed -
3f70: 65 20 27 73 25 5e 2e 2a 2f 25 25 27 20 2d 65 20  e 's%^.*/%%' -e 
3f80: 27 73 25 5c 2e 5b 5e 2e 5d 2a 24 25 25 27 60 2e  's%\.[^.]*$%%'`.
3f90: 24 7b 6f 62 6a 65 78 74 7d 0a 20 20 20 20 20 20  ${objext}.      
3fa0: 6c 6f 63 6b 66 69 6c 65 3d 22 24 6f 75 74 70 75  lockfile="$outpu
3fb0: 74 5f 6f 62 6a 2e 6c 6f 63 6b 22 0a 20 20 20 20  t_obj.lock".    
3fc0: 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d 22 24 72    removelist="$r
3fd0: 65 6d 6f 76 65 6c 69 73 74 20 24 6f 75 74 70 75  emovelist $outpu
3fe0: 74 5f 6f 62 6a 20 24 6c 6f 63 6b 66 69 6c 65 22  t_obj $lockfile"
3ff0: 0a 20 20 20 20 20 20 74 72 61 70 20 22 24 72 75  .      trap "$ru
4000: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
4010: 74 3b 20 65 78 69 74 20 31 22 20 31 20 32 20 31  t; exit 1" 1 2 1
4020: 35 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20  5.    else.     
4030: 20 6f 75 74 70 75 74 5f 6f 62 6a 3d 0a 20 20 20   output_obj=.   
4040: 20 20 20 6e 65 65 64 5f 6c 6f 63 6b 73 3d 6e 6f     need_locks=no
4050: 0a 20 20 20 20 20 20 6c 6f 63 6b 66 69 6c 65 3d  .      lockfile=
4060: 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 4c  .    fi..    # L
4070: 6f 63 6b 20 74 68 69 73 20 63 72 69 74 69 63 61  ock this critica
4080: 6c 20 73 65 63 74 69 6f 6e 20 69 66 20 69 74 20  l section if it 
4090: 69 73 20 6e 65 65 64 65 64 0a 20 20 20 20 23 20  is needed.    # 
40a0: 57 65 20 75 73 65 20 74 68 69 73 20 73 63 72 69  We use this scri
40b0: 70 74 20 66 69 6c 65 20 74 6f 20 6d 61 6b 65 20  pt file to make 
40c0: 74 68 65 20 6c 69 6e 6b 2c 20 69 74 20 61 76 6f  the link, it avo
40d0: 69 64 73 20 63 72 65 61 74 69 6e 67 20 61 20 6e  ids creating a n
40e0: 65 77 20 66 69 6c 65 0a 20 20 20 20 69 66 20 74  ew file.    if t
40f0: 65 73 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73  est "$need_locks
4100: 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20  " = yes; then.  
4110: 20 20 20 20 75 6e 74 69 6c 20 24 72 75 6e 20 6c      until $run l
4120: 6e 20 22 24 30 22 20 22 24 6c 6f 63 6b 66 69 6c  n "$0" "$lockfil
4130: 65 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20  e" 2>/dev/null; 
4140: 64 6f 0a 09 24 73 68 6f 77 20 22 57 61 69 74 69  do..$show "Waiti
4150: 6e 67 20 66 6f 72 20 24 6c 6f 63 6b 66 69 6c 65  ng for $lockfile
4160: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 22 0a   to be removed".
4170: 09 73 6c 65 65 70 20 32 0a 20 20 20 20 20 20 64  .sleep 2.      d
4180: 6f 6e 65 0a 20 20 20 20 65 6c 69 66 20 74 65 73  one.    elif tes
4190: 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73 22 20  t "$need_locks" 
41a0: 3d 20 77 61 72 6e 3b 20 74 68 65 6e 0a 20 20 20  = warn; then.   
41b0: 20 20 20 69 66 20 74 65 73 74 20 2d 66 20 22 24     if test -f "$
41c0: 6c 6f 63 6b 66 69 6c 65 22 3b 20 74 68 65 6e 0a  lockfile"; then.
41d0: 09 24 65 63 68 6f 20 22 5c 0a 2a 2a 2a 20 45 52  .$echo "\.*** ER
41e0: 52 4f 52 2c 20 24 6c 6f 63 6b 66 69 6c 65 20 65  ROR, $lockfile e
41f0: 78 69 73 74 73 20 61 6e 64 20 63 6f 6e 74 61 69  xists and contai
4200: 6e 73 3a 0a 60 63 61 74 20 24 6c 6f 63 6b 66 69  ns:.`cat $lockfi
4210: 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a  le 2>/dev/null`.
4220: 0a 54 68 69 73 20 69 6e 64 69 63 61 74 65 73 20  .This indicates 
4230: 74 68 61 74 20 61 6e 6f 74 68 65 72 20 70 72 6f  that another pro
4240: 63 65 73 73 20 69 73 20 74 72 79 69 6e 67 20 74  cess is trying t
4250: 6f 20 75 73 65 20 74 68 65 20 73 61 6d 65 0a 74  o use the same.t
4260: 65 6d 70 6f 72 61 72 79 20 6f 62 6a 65 63 74 20  emporary object 
4270: 66 69 6c 65 2c 20 61 6e 64 20 6c 69 62 74 6f 6f  file, and libtoo
4280: 6c 20 63 6f 75 6c 64 20 6e 6f 74 20 77 6f 72 6b  l could not work
4290: 20 61 72 6f 75 6e 64 20 69 74 20 62 65 63 61 75   around it becau
42a0: 73 65 0a 79 6f 75 72 20 63 6f 6d 70 69 6c 65 72  se.your compiler
42b0: 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72   does not suppor
42c0: 74 20 5c 60 2d 63 27 20 61 6e 64 20 5c 60 2d 6f  t \`-c' and \`-o
42d0: 27 20 74 6f 67 65 74 68 65 72 2e 20 20 49 66 20  ' together.  If 
42e0: 79 6f 75 0a 72 65 70 65 61 74 20 74 68 69 73 20  you.repeat this 
42f0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 69 74 20  compilation, it 
4300: 6d 61 79 20 73 75 63 63 65 65 64 2c 20 62 79 20  may succeed, by 
4310: 63 68 61 6e 63 65 2c 20 62 75 74 20 79 6f 75 20  chance, but you 
4320: 68 61 64 20 62 65 74 74 65 72 0a 61 76 6f 69 64  had better.avoid
4330: 20 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c 64 73   parallel builds
4340: 20 28 6d 61 6b 65 20 2d 6a 29 20 69 6e 20 74 68   (make -j) in th
4350: 69 73 20 70 6c 61 74 66 6f 72 6d 2c 20 6f 72 20  is platform, or 
4360: 67 65 74 20 61 20 62 65 74 74 65 72 0a 63 6f 6d  get a better.com
4370: 70 69 6c 65 72 2e 22 0a 0a 09 24 72 75 6e 20 24  piler."...$run $
4380: 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09  rm $removelist..
4390: 65 78 69 74 20 31 0a 20 20 20 20 20 20 66 69 0a  exit 1.      fi.
43a0: 20 20 20 20 20 20 24 65 63 68 6f 20 24 73 72 63        $echo $src
43b0: 66 69 6c 65 20 3e 20 22 24 6c 6f 63 6b 66 69 6c  file > "$lockfil
43c0: 65 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 69  e".    fi..    i
43d0: 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69 78 5f  f test -n "$fix_
43e0: 73 72 63 66 69 6c 65 5f 70 61 74 68 22 3b 20 74  srcfile_path"; t
43f0: 68 65 6e 0a 20 20 20 20 20 20 65 76 61 6c 20 73  hen.      eval s
4400: 72 63 66 69 6c 65 3d 5c 22 24 66 69 78 5f 73 72  rcfile=\"$fix_sr
4410: 63 66 69 6c 65 5f 70 61 74 68 5c 22 0a 20 20 20  cfile_path\".   
4420: 20 66 69 0a 0a 20 20 20 20 24 72 75 6e 20 24 72   fi..    $run $r
4430: 6d 20 22 24 6c 69 62 6f 62 6a 22 20 22 24 7b 6c  m "$libobj" "${l
4440: 69 62 6f 62 6a 7d 54 22 0a 0a 20 20 20 20 23 20  ibobj}T"..    # 
4450: 43 72 65 61 74 65 20 61 20 6c 69 62 74 6f 6f 6c  Create a libtool
4460: 20 6f 62 6a 65 63 74 20 66 69 6c 65 20 28 61 6e   object file (an
4470: 61 6c 6f 67 6f 75 73 20 74 6f 20 61 20 22 2e 6c  alogous to a ".l
4480: 61 22 20 66 69 6c 65 29 2c 0a 20 20 20 20 23 20  a" file),.    # 
4490: 62 75 74 20 64 6f 6e 27 74 20 63 72 65 61 74 65  but don't create
44a0: 20 69 74 20 69 66 20 77 65 27 72 65 20 64 6f 69   it if we're doi
44b0: 6e 67 20 61 20 64 72 79 20 72 75 6e 2e 0a 20 20  ng a dry run..  
44c0: 20 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22    test -z "$run"
44d0: 20 26 26 20 63 61 74 20 3e 20 24 7b 6c 69 62 6f   && cat > ${libo
44e0: 62 6a 7d 54 20 3c 3c 45 4f 46 0a 23 20 24 6c 69  bj}T <<EOF.# $li
44f0: 62 6f 62 6a 20 2d 20 61 20 6c 69 62 74 6f 6f 6c  bobj - a libtool
4500: 20 6f 62 6a 65 63 74 20 66 69 6c 65 0a 23 20 47   object file.# G
4510: 65 6e 65 72 61 74 65 64 20 62 79 20 24 50 52 4f  enerated by $PRO
4520: 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b  GRAM - GNU $PACK
4530: 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d  AGE $VERSION$TIM
4540: 45 53 54 41 4d 50 0a 23 0a 23 20 50 6c 65 61 73  ESTAMP.#.# Pleas
4550: 65 20 44 4f 20 4e 4f 54 20 64 65 6c 65 74 65 20  e DO NOT delete 
4560: 74 68 69 73 20 66 69 6c 65 21 0a 23 20 49 74 20  this file!.# It 
4570: 69 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72  is necessary for
4580: 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 6c 69 62   linking the lib
4590: 72 61 72 79 2e 0a 0a 23 20 4e 61 6d 65 20 6f 66  rary...# Name of
45a0: 20 74 68 65 20 50 49 43 20 6f 62 6a 65 63 74 2e   the PIC object.
45b0: 0a 45 4f 46 0a 0a 20 20 20 20 23 20 4f 6e 6c 79  .EOF..    # Only
45c0: 20 62 75 69 6c 64 20 61 20 50 49 43 20 6f 62 6a   build a PIC obj
45d0: 65 63 74 20 69 66 20 77 65 20 61 72 65 20 62 75  ect if we are bu
45e0: 69 6c 64 69 6e 67 20 6c 69 62 74 6f 6f 6c 20 6c  ilding libtool l
45f0: 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 69 66  ibraries..    if
4600: 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69   test "$build_li
4610: 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65  btool_libs" = ye
4620: 73 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20  s; then.      # 
4630: 57 69 74 68 6f 75 74 20 74 68 69 73 20 61 73 73  Without this ass
4640: 69 67 6e 6d 65 6e 74 2c 20 62 61 73 65 5f 63 6f  ignment, base_co
4650: 6d 70 69 6c 65 20 67 65 74 73 20 65 6d 70 74 69  mpile gets empti
4660: 65 64 2e 0a 20 20 20 20 20 20 66 62 73 64 5f 68  ed..      fbsd_h
4670: 69 64 65 6f 75 73 5f 73 68 5f 62 75 67 3d 24 62  ideous_sh_bug=$b
4680: 61 73 65 5f 63 6f 6d 70 69 6c 65 0a 0a 20 20 20  ase_compile..   
4690: 20 20 20 69 66 20 74 65 73 74 20 22 24 70 69 63     if test "$pic
46a0: 5f 6d 6f 64 65 22 20 21 3d 20 6e 6f 3b 20 74 68  _mode" != no; th
46b0: 65 6e 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61  en..command="$ba
46c0: 73 65 5f 63 6f 6d 70 69 6c 65 20 24 73 72 63 66  se_compile $srcf
46d0: 69 6c 65 20 24 70 69 63 5f 66 6c 61 67 22 0a 20  ile $pic_flag". 
46e0: 20 20 20 20 20 65 6c 73 65 0a 09 23 20 44 6f 6e       else..# Don
46f0: 27 74 20 62 75 69 6c 64 20 50 49 43 20 63 6f 64  't build PIC cod
4700: 65 0a 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73  e..command="$bas
4710: 65 5f 63 6f 6d 70 69 6c 65 20 24 73 72 63 66 69  e_compile $srcfi
4720: 6c 65 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  le".      fi..  
4730: 20 20 20 20 69 66 20 74 65 73 74 20 21 20 2d 64      if test ! -d
4740: 20 22 24 7b 78 64 69 72 7d 24 6f 62 6a 64 69 72   "${xdir}$objdir
4750: 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22  "; then..$show "
4760: 24 6d 6b 64 69 72 20 24 7b 78 64 69 72 7d 24 6f  $mkdir ${xdir}$o
4770: 62 6a 64 69 72 22 0a 09 24 72 75 6e 20 24 6d 6b  bjdir"..$run $mk
4780: 64 69 72 20 24 7b 78 64 69 72 7d 24 6f 62 6a 64  dir ${xdir}$objd
4790: 69 72 0a 09 73 74 61 74 75 73 3d 24 3f 0a 09 69  ir..status=$?..i
47a0: 66 20 74 65 73 74 20 22 24 73 74 61 74 75 73 22  f test "$status"
47b0: 20 2d 6e 65 20 30 20 26 26 20 74 65 73 74 20 21   -ne 0 && test !
47c0: 20 2d 64 20 22 24 7b 78 64 69 72 7d 24 6f 62 6a   -d "${xdir}$obj
47d0: 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 65 78  dir"; then..  ex
47e0: 69 74 20 24 73 74 61 74 75 73 0a 09 66 69 0a 20  it $status..fi. 
47f0: 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69       fi..      i
4800: 66 20 74 65 73 74 20 2d 7a 20 22 24 6f 75 74 70  f test -z "$outp
4810: 75 74 5f 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 23  ut_obj"; then..#
4820: 20 50 6c 61 63 65 20 50 49 43 20 6f 62 6a 65 63   Place PIC objec
4830: 74 73 20 69 6e 20 24 6f 62 6a 64 69 72 0a 09 63  ts in $objdir..c
4840: 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e 64  ommand="$command
4850: 20 2d 6f 20 24 6c 6f 62 6a 22 0a 20 20 20 20 20   -o $lobj".     
4860: 20 66 69 0a 0a 20 20 20 20 20 20 24 72 75 6e 20   fi..      $run 
4870: 24 72 6d 20 22 24 6c 6f 62 6a 22 20 22 24 6f 75  $rm "$lobj" "$ou
4880: 74 70 75 74 5f 6f 62 6a 22 0a 0a 20 20 20 20 20  tput_obj"..     
4890: 20 24 73 68 6f 77 20 22 24 63 6f 6d 6d 61 6e 64   $show "$command
48a0: 22 0a 20 20 20 20 20 20 69 66 20 24 72 75 6e 20  ".      if $run 
48b0: 65 76 61 6c 20 22 24 63 6f 6d 6d 61 6e 64 22 3b  eval "$command";
48c0: 20 74 68 65 6e 20 3a 0a 20 20 20 20 20 20 65 6c   then :.      el
48d0: 73 65 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f 75  se..test -n "$ou
48e0: 74 70 75 74 5f 6f 62 6a 22 20 26 26 20 24 72 75  tput_obj" && $ru
48f0: 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73  n $rm $removelis
4900: 74 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20 20  t..exit 1.      
4910: 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  fi..      if tes
4920: 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73 22 20  t "$need_locks" 
4930: 3d 20 77 61 72 6e 20 26 26 0a 09 20 74 65 73 74  = warn &&.. test
4940: 20 22 58 60 63 61 74 20 24 6c 6f 63 6b 66 69 6c   "X`cat $lockfil
4950: 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20  e 2>/dev/null`" 
4960: 21 3d 20 22 58 24 73 72 63 66 69 6c 65 22 3b 20  != "X$srcfile"; 
4970: 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 5c 0a 2a  then..$echo "\.*
4980: 2a 2a 20 45 52 52 4f 52 2c 20 24 6c 6f 63 6b 66  ** ERROR, $lockf
4990: 69 6c 65 20 63 6f 6e 74 61 69 6e 73 3a 0a 60 63  ile contains:.`c
49a0: 61 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32 3e 2f  at $lockfile 2>/
49b0: 64 65 76 2f 6e 75 6c 6c 60 0a 0a 62 75 74 20 69  dev/null`..but i
49c0: 74 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e  t should contain
49d0: 3a 0a 24 73 72 63 66 69 6c 65 0a 0a 54 68 69 73  :.$srcfile..This
49e0: 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20   indicates that 
49f0: 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20  another process 
4a00: 69 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73 65  is trying to use
4a10: 20 74 68 65 20 73 61 6d 65 0a 74 65 6d 70 6f 72   the same.tempor
4a20: 61 72 79 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c  ary object file,
4a30: 20 61 6e 64 20 6c 69 62 74 6f 6f 6c 20 63 6f 75   and libtool cou
4a40: 6c 64 20 6e 6f 74 20 77 6f 72 6b 20 61 72 6f 75  ld not work arou
4a50: 6e 64 20 69 74 20 62 65 63 61 75 73 65 0a 79 6f  nd it because.yo
4a60: 75 72 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73  ur compiler does
4a70: 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 5c 60 2d   not support \`-
4a80: 63 27 20 61 6e 64 20 5c 60 2d 6f 27 20 74 6f 67  c' and \`-o' tog
4a90: 65 74 68 65 72 2e 20 20 49 66 20 79 6f 75 0a 72  ether.  If you.r
4aa0: 65 70 65 61 74 20 74 68 69 73 20 63 6f 6d 70 69  epeat this compi
4ab0: 6c 61 74 69 6f 6e 2c 20 69 74 20 6d 61 79 20 73  lation, it may s
4ac0: 75 63 63 65 65 64 2c 20 62 79 20 63 68 61 6e 63  ucceed, by chanc
4ad0: 65 2c 20 62 75 74 20 79 6f 75 20 68 61 64 20 62  e, but you had b
4ae0: 65 74 74 65 72 0a 61 76 6f 69 64 20 70 61 72 61  etter.avoid para
4af0: 6c 6c 65 6c 20 62 75 69 6c 64 73 20 28 6d 61 6b  llel builds (mak
4b00: 65 20 2d 6a 29 20 69 6e 20 74 68 69 73 20 70 6c  e -j) in this pl
4b10: 61 74 66 6f 72 6d 2c 20 6f 72 20 67 65 74 20 61  atform, or get a
4b20: 20 62 65 74 74 65 72 0a 63 6f 6d 70 69 6c 65 72   better.compiler
4b30: 2e 22 0a 0a 09 24 72 75 6e 20 24 72 6d 20 24 72  ."...$run $rm $r
4b40: 65 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69 74 20  emovelist..exit 
4b50: 31 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  1.      fi..    
4b60: 20 20 23 20 4a 75 73 74 20 6d 6f 76 65 20 74 68    # Just move th
4b70: 65 20 6f 62 6a 65 63 74 20 69 66 20 6e 65 65 64  e object if need
4b80: 65 64 2c 20 74 68 65 6e 20 67 6f 20 6f 6e 20 74  ed, then go on t
4b90: 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 6e 65  o compile the ne
4ba0: 78 74 20 6f 6e 65 0a 20 20 20 20 20 20 69 66 20  xt one.      if 
4bb0: 74 65 73 74 20 2d 6e 20 22 24 6f 75 74 70 75 74  test -n "$output
4bc0: 5f 6f 62 6a 22 20 26 26 20 74 65 73 74 20 22 58  _obj" && test "X
4bd0: 24 6f 75 74 70 75 74 5f 6f 62 6a 22 20 21 3d 20  $output_obj" != 
4be0: 22 58 24 6c 6f 62 6a 22 3b 20 74 68 65 6e 0a 09  "X$lobj"; then..
4bf0: 24 73 68 6f 77 20 22 24 6d 76 20 24 6f 75 74 70  $show "$mv $outp
4c00: 75 74 5f 6f 62 6a 20 24 6c 6f 62 6a 22 0a 09 69  ut_obj $lobj"..i
4c10: 66 20 24 72 75 6e 20 24 6d 76 20 24 6f 75 74 70  f $run $mv $outp
4c20: 75 74 5f 6f 62 6a 20 24 6c 6f 62 6a 3b 20 74 68  ut_obj $lobj; th
4c30: 65 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20 65 72  en :..else..  er
4c40: 72 6f 72 3d 24 3f 0a 09 20 20 24 72 75 6e 20 24  ror=$?..  $run $
4c50: 72 6d 20 24 72 65 6d 6f 76 65 6c 69 73 74 0a 09  rm $removelist..
4c60: 20 20 65 78 69 74 20 24 65 72 72 6f 72 0a 09 66    exit $error..f
4c70: 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  i.      fi..    
4c80: 20 20 23 20 41 70 70 65 6e 64 20 74 68 65 20 6e    # Append the n
4c90: 61 6d 65 20 6f 66 20 74 68 65 20 50 49 43 20 6f  ame of the PIC o
4ca0: 62 6a 65 63 74 20 74 6f 20 74 68 65 20 6c 69 62  bject to the lib
4cb0: 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65  tool object file
4cc0: 2e 0a 20 20 20 20 20 20 74 65 73 74 20 2d 7a 20  ..      test -z 
4cd0: 22 24 72 75 6e 22 20 26 26 20 63 61 74 20 3e 3e  "$run" && cat >>
4ce0: 20 24 7b 6c 69 62 6f 62 6a 7d 54 20 3c 3c 45 4f   ${libobj}T <<EO
4cf0: 46 0a 70 69 63 5f 6f 62 6a 65 63 74 3d 27 24 6f  F.pic_object='$o
4d00: 62 6a 64 69 72 2f 24 6f 62 6a 6e 61 6d 65 27 0a  bjdir/$objname'.
4d10: 0a 45 4f 46 0a 0a 20 20 20 20 20 20 23 20 41 6c  .EOF..      # Al
4d20: 6c 6f 77 20 65 72 72 6f 72 20 6d 65 73 73 61 67  low error messag
4d30: 65 73 20 6f 6e 6c 79 20 66 72 6f 6d 20 74 68 65  es only from the
4d40: 20 66 69 72 73 74 20 63 6f 6d 70 69 6c 61 74 69   first compilati
4d50: 6f 6e 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73  on..      if tes
4d60: 74 20 22 24 73 75 70 70 72 65 73 73 5f 6f 70 74  t "$suppress_opt
4d70: 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20  " = yes; then.  
4d80: 20 20 20 20 20 20 73 75 70 70 72 65 73 73 5f 6f        suppress_o
4d90: 75 74 70 75 74 3d 27 20 3e 2f 64 65 76 2f 6e 75  utput=' >/dev/nu
4da0: 6c 6c 20 32 3e 26 31 27 0a 20 20 20 20 20 20 66  ll 2>&1'.      f
4db0: 69 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20  i.    else.     
4dc0: 20 23 20 4e 6f 20 50 49 43 20 6f 62 6a 65 63 74   # No PIC object
4dd0: 20 73 6f 20 69 6e 64 69 63 61 74 65 20 69 74 20   so indicate it 
4de0: 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e  doesn't exist in
4df0: 20 74 68 65 20 6c 69 62 74 6f 6f 6c 0a 20 20 20   the libtool.   
4e00: 20 20 20 23 20 6f 62 6a 65 63 74 20 66 69 6c 65     # object file
4e10: 2e 0a 20 20 20 20 20 20 74 65 73 74 20 2d 7a 20  ..      test -z 
4e20: 22 24 72 75 6e 22 20 26 26 20 63 61 74 20 3e 3e  "$run" && cat >>
4e30: 20 24 7b 6c 69 62 6f 62 6a 7d 54 20 3c 3c 45 4f   ${libobj}T <<EO
4e40: 46 0a 70 69 63 5f 6f 62 6a 65 63 74 3d 6e 6f 6e  F.pic_object=non
4e50: 65 0a 0a 45 4f 46 0a 20 20 20 20 66 69 0a 0a 20  e..EOF.    fi.. 
4e60: 20 20 20 23 20 4f 6e 6c 79 20 62 75 69 6c 64 20     # Only build 
4e70: 61 20 70 6f 73 69 74 69 6f 6e 2d 64 65 70 65 6e  a position-depen
4e80: 64 65 6e 74 20 6f 62 6a 65 63 74 20 69 66 20 77  dent object if w
4e90: 65 20 62 75 69 6c 64 20 6f 6c 64 20 6c 69 62 72  e build old libr
4ea0: 61 72 69 65 73 2e 0a 20 20 20 20 69 66 20 74 65  aries..    if te
4eb0: 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c  st "$build_old_l
4ec0: 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  ibs" = yes; then
4ed0: 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
4ee0: 24 70 69 63 5f 6d 6f 64 65 22 20 21 3d 20 79 65  $pic_mode" != ye
4ef0: 73 3b 20 74 68 65 6e 0a 09 23 20 44 6f 6e 27 74  s; then..# Don't
4f00: 20 62 75 69 6c 64 20 50 49 43 20 63 6f 64 65 0a   build PIC code.
4f10: 09 63 6f 6d 6d 61 6e 64 3d 22 24 62 61 73 65 5f  .command="$base_
4f20: 63 6f 6d 70 69 6c 65 20 24 73 72 63 66 69 6c 65  compile $srcfile
4f30: 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 63 6f  ".      else..co
4f40: 6d 6d 61 6e 64 3d 22 24 62 61 73 65 5f 63 6f 6d  mmand="$base_com
4f50: 70 69 6c 65 20 24 73 72 63 66 69 6c 65 20 24 70  pile $srcfile $p
4f60: 69 63 5f 66 6c 61 67 22 0a 20 20 20 20 20 20 66  ic_flag".      f
4f70: 69 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  i.      if test 
4f80: 22 24 63 6f 6d 70 69 6c 65 72 5f 63 5f 6f 22 20  "$compiler_c_o" 
4f90: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 63 6f 6d  = yes; then..com
4fa0: 6d 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e 64 20 2d  mand="$command -
4fb0: 6f 20 24 6f 62 6a 22 0a 20 20 20 20 20 20 66 69  o $obj".      fi
4fc0: 0a 0a 20 20 20 20 20 20 23 20 53 75 70 70 72 65  ..      # Suppre
4fd0: 73 73 20 63 6f 6d 70 69 6c 65 72 20 6f 75 74 70  ss compiler outp
4fe0: 75 74 20 69 66 20 77 65 20 61 6c 72 65 61 64 79  ut if we already
4ff0: 20 64 69 64 20 61 20 50 49 43 20 63 6f 6d 70 69   did a PIC compi
5000: 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 63 6f  lation..      co
5010: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 6d 61 6e 64 24  mmand="$command$
5020: 73 75 70 70 72 65 73 73 5f 6f 75 74 70 75 74 22  suppress_output"
5030: 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20  .      $run $rm 
5040: 22 24 6f 62 6a 22 20 22 24 6f 75 74 70 75 74 5f  "$obj" "$output_
5050: 6f 62 6a 22 0a 20 20 20 20 20 20 24 73 68 6f 77  obj".      $show
5060: 20 22 24 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20   "$command".    
5070: 20 20 69 66 20 24 72 75 6e 20 65 76 61 6c 20 22    if $run eval "
5080: 24 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 20  $command"; then 
5090: 3a 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 24 72  :.      else..$r
50a0: 75 6e 20 24 72 6d 20 24 72 65 6d 6f 76 65 6c 69  un $rm $removeli
50b0: 73 74 0a 09 65 78 69 74 20 31 0a 20 20 20 20 20  st..exit 1.     
50c0: 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
50d0: 73 74 20 22 24 6e 65 65 64 5f 6c 6f 63 6b 73 22  st "$need_locks"
50e0: 20 3d 20 77 61 72 6e 20 26 26 0a 09 20 74 65 73   = warn &&.. tes
50f0: 74 20 22 58 60 63 61 74 20 24 6c 6f 63 6b 66 69  t "X`cat $lockfi
5100: 6c 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22  le 2>/dev/null`"
5110: 20 21 3d 20 22 58 24 73 72 63 66 69 6c 65 22 3b   != "X$srcfile";
5120: 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 5c 0a   then..$echo "\.
5130: 2a 2a 2a 20 45 52 52 4f 52 2c 20 24 6c 6f 63 6b  *** ERROR, $lock
5140: 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 3a 0a 60  file contains:.`
5150: 63 61 74 20 24 6c 6f 63 6b 66 69 6c 65 20 32 3e  cat $lockfile 2>
5160: 2f 64 65 76 2f 6e 75 6c 6c 60 0a 0a 62 75 74 20  /dev/null`..but 
5170: 69 74 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69  it should contai
5180: 6e 3a 0a 24 73 72 63 66 69 6c 65 0a 0a 54 68 69  n:.$srcfile..Thi
5190: 73 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74  s indicates that
51a0: 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73   another process
51b0: 20 69 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73   is trying to us
51c0: 65 20 74 68 65 20 73 61 6d 65 0a 74 65 6d 70 6f  e the same.tempo
51d0: 72 61 72 79 20 6f 62 6a 65 63 74 20 66 69 6c 65  rary object file
51e0: 2c 20 61 6e 64 20 6c 69 62 74 6f 6f 6c 20 63 6f  , and libtool co
51f0: 75 6c 64 20 6e 6f 74 20 77 6f 72 6b 20 61 72 6f  uld not work aro
5200: 75 6e 64 20 69 74 20 62 65 63 61 75 73 65 0a 79  und it because.y
5210: 6f 75 72 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65  our compiler doe
5220: 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 5c 60  s not support \`
5230: 2d 63 27 20 61 6e 64 20 5c 60 2d 6f 27 20 74 6f  -c' and \`-o' to
5240: 67 65 74 68 65 72 2e 20 20 49 66 20 79 6f 75 0a  gether.  If you.
5250: 72 65 70 65 61 74 20 74 68 69 73 20 63 6f 6d 70  repeat this comp
5260: 69 6c 61 74 69 6f 6e 2c 20 69 74 20 6d 61 79 20  ilation, it may 
5270: 73 75 63 63 65 65 64 2c 20 62 79 20 63 68 61 6e  succeed, by chan
5280: 63 65 2c 20 62 75 74 20 79 6f 75 20 68 61 64 20  ce, but you had 
5290: 62 65 74 74 65 72 0a 61 76 6f 69 64 20 70 61 72  better.avoid par
52a0: 61 6c 6c 65 6c 20 62 75 69 6c 64 73 20 28 6d 61  allel builds (ma
52b0: 6b 65 20 2d 6a 29 20 69 6e 20 74 68 69 73 20 70  ke -j) in this p
52c0: 6c 61 74 66 6f 72 6d 2c 20 6f 72 20 67 65 74 20  latform, or get 
52d0: 61 20 62 65 74 74 65 72 0a 63 6f 6d 70 69 6c 65  a better.compile
52e0: 72 2e 22 0a 0a 09 24 72 75 6e 20 24 72 6d 20 24  r."...$run $rm $
52f0: 72 65 6d 6f 76 65 6c 69 73 74 0a 09 65 78 69 74  removelist..exit
5300: 20 31 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20   1.      fi..   
5310: 20 20 20 23 20 4a 75 73 74 20 6d 6f 76 65 20 74     # Just move t
5320: 68 65 20 6f 62 6a 65 63 74 20 69 66 20 6e 65 65  he object if nee
5330: 64 65 64 0a 20 20 20 20 20 20 69 66 20 74 65 73  ded.      if tes
5340: 74 20 2d 6e 20 22 24 6f 75 74 70 75 74 5f 6f 62  t -n "$output_ob
5350: 6a 22 20 26 26 20 74 65 73 74 20 22 58 24 6f 75  j" && test "X$ou
5360: 74 70 75 74 5f 6f 62 6a 22 20 21 3d 20 22 58 24  tput_obj" != "X$
5370: 6f 62 6a 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f  obj"; then..$sho
5380: 77 20 22 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f  w "$mv $output_o
5390: 62 6a 20 24 6f 62 6a 22 0a 09 69 66 20 24 72 75  bj $obj"..if $ru
53a0: 6e 20 24 6d 76 20 24 6f 75 74 70 75 74 5f 6f 62  n $mv $output_ob
53b0: 6a 20 24 6f 62 6a 3b 20 74 68 65 6e 20 3a 0a 09  j $obj; then :..
53c0: 65 6c 73 65 0a 09 20 20 65 72 72 6f 72 3d 24 3f  else..  error=$?
53d0: 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 24 72 65  ..  $run $rm $re
53e0: 6d 6f 76 65 6c 69 73 74 0a 09 20 20 65 78 69 74  movelist..  exit
53f0: 20 24 65 72 72 6f 72 0a 09 66 69 0a 20 20 20 20   $error..fi.    
5400: 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 41 70    fi..      # Ap
5410: 70 65 6e 64 20 74 68 65 20 6e 61 6d 65 20 6f 66  pend the name of
5420: 20 74 68 65 20 6e 6f 6e 2d 50 49 43 20 6f 62 6a   the non-PIC obj
5430: 65 63 74 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20  ect the libtool 
5440: 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20  object file..   
5450: 20 20 20 23 20 4f 6e 6c 79 20 61 70 70 65 6e 64     # Only append
5460: 20 69 66 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20   if the libtool 
5470: 6f 62 6a 65 63 74 20 66 69 6c 65 20 65 78 69 73  object file exis
5480: 74 73 2e 0a 20 20 20 20 20 20 74 65 73 74 20 2d  ts..      test -
5490: 7a 20 22 24 72 75 6e 22 20 26 26 20 63 61 74 20  z "$run" && cat 
54a0: 3e 3e 20 24 7b 6c 69 62 6f 62 6a 7d 54 20 3c 3c  >> ${libobj}T <<
54b0: 45 4f 46 0a 23 20 4e 61 6d 65 20 6f 66 20 74 68  EOF.# Name of th
54c0: 65 20 6e 6f 6e 2d 50 49 43 20 6f 62 6a 65 63 74  e non-PIC object
54d0: 2e 0a 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74  ..non_pic_object
54e0: 3d 27 24 6f 62 6a 6e 61 6d 65 27 0a 0a 45 4f 46  ='$objname'..EOF
54f0: 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20  .    else.      
5500: 23 20 41 70 70 65 6e 64 20 74 68 65 20 6e 61 6d  # Append the nam
5510: 65 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 50 49 43  e of the non-PIC
5520: 20 6f 62 6a 65 63 74 20 74 68 65 20 6c 69 62 74   object the libt
5530: 6f 6f 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ool object file.
5540: 0a 20 20 20 20 20 20 23 20 4f 6e 6c 79 20 61 70  .      # Only ap
5550: 70 65 6e 64 20 69 66 20 74 68 65 20 6c 69 62 74  pend if the libt
5560: 6f 6f 6c 20 6f 62 6a 65 63 74 20 66 69 6c 65 20  ool object file 
5570: 65 78 69 73 74 73 2e 0a 20 20 20 20 20 20 74 65  exists..      te
5580: 73 74 20 2d 7a 20 22 24 72 75 6e 22 20 26 26 20  st -z "$run" && 
5590: 63 61 74 20 3e 3e 20 24 7b 6c 69 62 6f 62 6a 7d  cat >> ${libobj}
55a0: 54 20 3c 3c 45 4f 46 0a 23 20 4e 61 6d 65 20 6f  T <<EOF.# Name o
55b0: 66 20 74 68 65 20 6e 6f 6e 2d 50 49 43 20 6f 62  f the non-PIC ob
55c0: 6a 65 63 74 2e 0a 6e 6f 6e 5f 70 69 63 5f 6f 62  ject..non_pic_ob
55d0: 6a 65 63 74 3d 6e 6f 6e 65 0a 0a 45 4f 46 0a 20  ject=none..EOF. 
55e0: 20 20 20 66 69 0a 0a 20 20 20 20 24 72 75 6e 20     fi..    $run 
55f0: 24 6d 76 20 22 24 7b 6c 69 62 6f 62 6a 7d 54 22  $mv "${libobj}T"
5600: 20 22 24 7b 6c 69 62 6f 62 6a 7d 22 0a 0a 20 20   "${libobj}"..  
5610: 20 20 23 20 55 6e 6c 6f 63 6b 20 74 68 65 20 63    # Unlock the c
5620: 72 69 74 69 63 61 6c 20 73 65 63 74 69 6f 6e 20  ritical section 
5630: 69 66 20 69 74 20 77 61 73 20 6c 6f 63 6b 65 64  if it was locked
5640: 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6e  .    if test "$n
5650: 65 65 64 5f 6c 6f 63 6b 73 22 20 21 3d 20 6e 6f  eed_locks" != no
5660: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24 72 75  ; then.      $ru
5670: 6e 20 24 72 6d 20 22 24 6c 6f 63 6b 66 69 6c 65  n $rm "$lockfile
5680: 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 65 78  ".    fi..    ex
5690: 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20 23  it 0.    ;;..  #
56a0: 20 6c 69 62 74 6f 6f 6c 20 6c 69 6e 6b 20 6d 6f   libtool link mo
56b0: 64 65 0a 20 20 6c 69 6e 6b 20 7c 20 72 65 6c 69  de.  link | reli
56c0: 6e 6b 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65  nk).    modename
56d0: 3d 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 6e  ="$modename: lin
56e0: 6b 22 0a 20 20 20 20 63 61 73 65 20 24 68 6f 73  k".    case $hos
56f0: 74 20 69 6e 0a 20 20 20 20 2a 2d 2a 2d 63 79 67  t in.    *-*-cyg
5700: 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77  win* | *-*-mingw
5710: 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20  * | *-*-pw32* | 
5720: 2a 2d 2a 2d 6f 73 32 2a 29 0a 20 20 20 20 20 20  *-*-os2*).      
5730: 23 20 49 74 20 69 73 20 69 6d 70 6f 73 73 69 62  # It is impossib
5740: 6c 65 20 74 6f 20 6c 69 6e 6b 20 61 20 64 6c 6c  le to link a dll
5750: 20 77 69 74 68 6f 75 74 20 74 68 69 73 20 73 65   without this se
5760: 74 74 69 6e 67 2c 20 61 6e 64 0a 20 20 20 20 20  tting, and.     
5770: 20 23 20 77 65 20 73 68 6f 75 6c 64 6e 27 74 20   # we shouldn't 
5780: 66 6f 72 63 65 20 74 68 65 20 6d 61 6b 65 66 69  force the makefi
5790: 6c 65 20 6d 61 69 6e 74 61 69 6e 65 72 20 74 6f  le maintainer to
57a0: 20 66 69 67 75 72 65 20 6f 75 74 0a 20 20 20 20   figure out.    
57b0: 20 20 23 20 77 68 69 63 68 20 73 79 73 74 65 6d    # which system
57c0: 20 77 65 20 61 72 65 20 63 6f 6d 70 69 6c 69 6e   we are compilin
57d0: 67 20 66 6f 72 20 69 6e 20 6f 72 64 65 72 20 74  g for in order t
57e0: 6f 20 70 61 73 73 20 61 6e 20 65 78 74 72 61 0a  o pass an extra.
57f0: 20 20 20 20 20 20 23 20 66 6c 61 67 20 66 6f 72        # flag for
5800: 20 65 76 65 72 79 20 6c 69 62 74 6f 6f 6c 20 69   every libtool i
5810: 6e 76 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20  nvocation..     
5820: 20 23 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e   # allow_undefin
5830: 65 64 3d 6e 6f 0a 0a 20 20 20 20 20 20 23 20 46  ed=no..      # F
5840: 49 58 4d 45 3a 20 55 6e 66 6f 72 74 75 6e 61 74  IXME: Unfortunat
5850: 65 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 70  ely, there are p
5860: 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65  roblems with the
5870: 20 61 62 6f 76 65 20 77 68 65 6e 20 74 72 79 69   above when tryi
5880: 6e 67 0a 20 20 20 20 20 20 23 20 74 6f 20 6d 61  ng.      # to ma
5890: 6b 65 20 61 20 64 6c 6c 20 77 68 69 63 68 20 68  ke a dll which h
58a0: 61 73 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d  as undefined sym
58b0: 62 6f 6c 73 2c 20 69 6e 20 77 68 69 63 68 20 63  bols, in which c
58c0: 61 73 65 20 6e 6f 74 0a 20 20 20 20 20 20 23 20  ase not.      # 
58d0: 65 76 65 6e 20 61 20 73 74 61 74 69 63 20 6c 69  even a static li
58e0: 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 2e 20  brary is built. 
58f0: 20 46 6f 72 20 6e 6f 77 2c 20 77 65 20 6e 65 65   For now, we nee
5900: 64 20 74 6f 20 73 70 65 63 69 66 79 0a 20 20 20  d to specify.   
5910: 20 20 20 23 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e     # -no-undefin
5920: 65 64 20 6f 6e 20 74 68 65 20 6c 69 62 74 6f 6f  ed on the libtoo
5930: 6c 20 6c 69 6e 6b 20 6c 69 6e 65 20 77 68 65 6e  l link line when
5940: 20 77 65 20 63 61 6e 20 62 65 20 63 65 72 74 61   we can be certa
5950: 69 6e 0a 20 20 20 20 20 20 23 20 74 68 61 74 20  in.      # that 
5960: 61 6c 6c 20 73 79 6d 62 6f 6c 73 20 61 72 65 20  all symbols are 
5970: 73 61 74 69 73 66 69 65 64 2c 20 6f 74 68 65 72  satisfied, other
5980: 77 69 73 65 20 77 65 20 67 65 74 20 61 20 73 74  wise we get a st
5990: 61 74 69 63 20 6c 69 62 72 61 72 79 2e 0a 20 20  atic library..  
59a0: 20 20 20 20 61 6c 6c 6f 77 5f 75 6e 64 65 66 69      allow_undefi
59b0: 6e 65 64 3d 79 65 73 0a 20 20 20 20 20 20 3b 3b  ned=yes.      ;;
59c0: 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 61 6c  .    *).      al
59d0: 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 3d 79 65  low_undefined=ye
59e0: 73 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65  s.      ;;.    e
59f0: 73 61 63 0a 20 20 20 20 6c 69 62 74 6f 6f 6c 5f  sac.    libtool_
5a00: 61 72 67 73 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20  args="$nonopt". 
5a10: 20 20 20 62 61 73 65 5f 63 6f 6d 70 69 6c 65 3d     base_compile=
5a20: 22 24 6e 6f 6e 6f 70 74 20 24 40 22 0a 20 20 20  "$nonopt $@".   
5a30: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
5a40: 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20 66  ="$nonopt".    f
5a50: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d  inalize_command=
5a60: 22 24 6e 6f 6e 6f 70 74 22 0a 0a 20 20 20 20 63  "$nonopt"..    c
5a70: 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d 0a 20 20  ompile_rpath=.  
5a80: 20 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68    finalize_rpath
5a90: 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65 5f 73 68  =.    compile_sh
5aa0: 6c 69 62 70 61 74 68 3d 0a 20 20 20 20 66 69 6e  libpath=.    fin
5ab0: 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 3d  alize_shlibpath=
5ac0: 0a 20 20 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65  .    convenience
5ad0: 3d 0a 20 20 20 20 6f 6c 64 5f 63 6f 6e 76 65 6e  =.    old_conven
5ae0: 69 65 6e 63 65 3d 0a 20 20 20 20 64 65 70 6c 69  ience=.    depli
5af0: 62 73 3d 0a 20 20 20 20 6f 6c 64 5f 64 65 70 6c  bs=.    old_depl
5b00: 69 62 73 3d 0a 20 20 20 20 63 6f 6d 70 69 6c 65  ibs=.    compile
5b10: 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20 6c 69 6e  r_flags=.    lin
5b20: 6b 65 72 5f 66 6c 61 67 73 3d 0a 20 20 20 20 64  ker_flags=.    d
5b30: 6c 6c 73 65 61 72 63 68 70 61 74 68 3d 0a 20 20  llsearchpath=.  
5b40: 20 20 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74    lib_search_pat
5b50: 68 3d 60 70 77 64 60 0a 20 20 20 20 69 6e 73 74  h=`pwd`.    inst
5b60: 5f 70 72 65 66 69 78 5f 64 69 72 3d 0a 0a 20 20  _prefix_dir=..  
5b70: 20 20 61 76 6f 69 64 5f 76 65 72 73 69 6f 6e 3d    avoid_version=
5b80: 6e 6f 0a 20 20 20 20 64 6c 66 69 6c 65 73 3d 0a  no.    dlfiles=.
5b90: 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d 0a      dlprefiles=.
5ba0: 20 20 20 20 64 6c 73 65 6c 66 3d 6e 6f 0a 20 20      dlself=no.  
5bb0: 20 20 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63    export_dynamic
5bc0: 3d 6e 6f 0a 20 20 20 20 65 78 70 6f 72 74 5f 73  =no.    export_s
5bd0: 79 6d 62 6f 6c 73 3d 0a 20 20 20 20 65 78 70 6f  ymbols=.    expo
5be0: 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
5bf0: 3d 0a 20 20 20 20 67 65 6e 65 72 61 74 65 64 3d  =.    generated=
5c00: 0a 20 20 20 20 6c 69 62 6f 62 6a 73 3d 0a 20 20  .    libobjs=.  
5c10: 20 20 6c 74 6c 69 62 73 3d 0a 20 20 20 20 6d 6f    ltlibs=.    mo
5c20: 64 75 6c 65 3d 6e 6f 0a 20 20 20 20 6e 6f 5f 69  dule=no.    no_i
5c30: 6e 73 74 61 6c 6c 3d 6e 6f 0a 20 20 20 20 6f 62  nstall=no.    ob
5c40: 6a 73 3d 0a 20 20 20 20 6e 6f 6e 5f 70 69 63 5f  js=.    non_pic_
5c50: 6f 62 6a 65 63 74 73 3d 0a 20 20 20 20 70 72 65  objects=.    pre
5c60: 63 69 6f 75 73 5f 66 69 6c 65 73 5f 72 65 67 65  cious_files_rege
5c70: 78 3d 0a 20 20 20 20 70 72 65 66 65 72 5f 73 74  x=.    prefer_st
5c80: 61 74 69 63 5f 6c 69 62 73 3d 6e 6f 0a 20 20 20  atic_libs=no.   
5c90: 20 70 72 65 6c 6f 61 64 3d 6e 6f 0a 20 20 20 20   preload=no.    
5ca0: 70 72 65 76 3d 0a 20 20 20 20 70 72 65 76 61 72  prev=.    prevar
5cb0: 67 3d 0a 20 20 20 20 72 65 6c 65 61 73 65 3d 0a  g=.    release=.
5cc0: 20 20 20 20 72 70 61 74 68 3d 0a 20 20 20 20 78      rpath=.    x
5cd0: 72 70 61 74 68 3d 0a 20 20 20 20 70 65 72 6d 5f  rpath=.    perm_
5ce0: 72 70 61 74 68 3d 0a 20 20 20 20 74 65 6d 70 5f  rpath=.    temp_
5cf0: 72 70 61 74 68 3d 0a 20 20 20 20 74 68 72 65 61  rpath=.    threa
5d00: 64 5f 73 61 66 65 3d 6e 6f 0a 20 20 20 20 76 69  d_safe=no.    vi
5d10: 6e 66 6f 3d 0a 20 20 20 20 76 69 6e 66 6f 5f 6e  nfo=.    vinfo_n
5d20: 75 6d 62 65 72 3d 6e 6f 0a 0a 20 20 20 20 23 20  umber=no..    # 
5d30: 49 6e 66 65 72 20 74 61 67 67 65 64 20 63 6f 6e  Infer tagged con
5d40: 66 69 67 75 72 61 74 69 6f 6e 20 74 6f 20 75 73  figuration to us
5d50: 65 20 69 66 20 61 6e 79 20 61 72 65 20 61 76 61  e if any are ava
5d60: 69 6c 61 62 6c 65 20 61 6e 64 0a 20 20 20 20 23  ilable and.    #
5d70: 20 69 66 20 6f 6e 65 20 77 61 73 6e 27 74 20 63   if one wasn't c
5d80: 68 6f 73 65 6e 20 76 69 61 20 74 68 65 20 22 2d  hosen via the "-
5d90: 2d 74 61 67 22 20 63 6f 6d 6d 61 6e 64 20 6c 69  -tag" command li
5da0: 6e 65 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 23  ne option..    #
5db0: 20 4f 6e 6c 79 20 61 74 74 65 6d 70 74 20 74 68   Only attempt th
5dc0: 69 73 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c  is if the compil
5dd0: 65 72 20 69 6e 20 74 68 65 20 62 61 73 65 20 6c  er in the base l
5de0: 69 6e 6b 0a 20 20 20 20 23 20 63 6f 6d 6d 61 6e  ink.    # comman
5df0: 64 20 64 6f 65 73 6e 27 74 20 6d 61 74 63 68 20  d doesn't match 
5e00: 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 70  the default comp
5e10: 69 6c 65 72 2e 0a 20 20 20 20 69 66 20 74 65 73  iler..    if tes
5e20: 74 20 2d 6e 20 22 24 61 76 61 69 6c 61 62 6c 65  t -n "$available
5e30: 5f 74 61 67 73 22 20 26 26 20 74 65 73 74 20 2d  _tags" && test -
5e40: 7a 20 22 24 74 61 67 6e 61 6d 65 22 3b 20 74 68  z "$tagname"; th
5e50: 65 6e 0a 20 20 20 20 20 20 63 61 73 65 20 24 62  en.      case $b
5e60: 61 73 65 5f 63 6f 6d 70 69 6c 65 20 69 6e 0a 20  ase_compile in. 
5e70: 20 20 20 20 20 23 20 42 6c 61 6e 6b 73 20 69 6e       # Blanks in
5e80: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 79   the command may
5e90: 20 68 61 76 65 20 62 65 65 6e 20 73 74 72 69 70   have been strip
5ea0: 70 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 69  ped by the calli
5eb0: 6e 67 20 73 68 65 6c 6c 2c 0a 20 20 20 20 20 20  ng shell,.      
5ec0: 23 20 62 75 74 20 6e 6f 74 20 66 72 6f 6d 20 74  # but not from t
5ed0: 68 65 20 43 43 20 65 6e 76 69 72 6f 6e 6d 65 6e  he CC environmen
5ee0: 74 20 76 61 72 69 61 62 6c 65 20 77 68 65 6e 20  t variable when 
5ef0: 63 6f 6e 66 69 67 75 72 65 20 77 61 73 20 72 75  configure was ru
5f00: 6e 2e 0a 20 20 20 20 20 20 22 24 43 43 20 22 2a  n..      "$CC "*
5f10: 20 7c 20 22 20 24 43 43 20 22 2a 20 7c 20 22 60   | " $CC "* | "`
5f20: 24 65 63 68 6f 20 24 43 43 60 20 22 2a 20 7c 20  $echo $CC` "* | 
5f30: 22 20 60 24 65 63 68 6f 20 24 43 43 60 20 22 2a  " `$echo $CC` "*
5f40: 29 20 3b 3b 0a 20 20 20 20 20 20 23 20 42 6c 61  ) ;;.      # Bla
5f50: 6e 6b 73 20 61 74 20 74 68 65 20 73 74 61 72 74  nks at the start
5f60: 20 6f 66 20 24 62 61 73 65 5f 63 6f 6d 70 69 6c   of $base_compil
5f70: 65 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 69  e will cause thi
5f80: 73 20 74 6f 20 66 61 69 6c 0a 20 20 20 20 20 20  s to fail.      
5f90: 23 20 69 66 20 77 65 20 64 6f 6e 27 74 20 63 68  # if we don't ch
5fa0: 65 63 6b 20 66 6f 72 20 74 68 65 6d 20 61 73 20  eck for them as 
5fb0: 77 65 6c 6c 2e 0a 20 20 20 20 20 20 2a 29 0a 09  well..      *)..
5fc0: 66 6f 72 20 7a 20 69 6e 20 24 61 76 61 69 6c 61  for z in $availa
5fd0: 62 6c 65 5f 74 61 67 73 3b 20 64 6f 0a 09 20 20  ble_tags; do..  
5fe0: 69 66 20 67 72 65 70 20 22 5e 23 20 23 23 23 20  if grep "^# ### 
5ff0: 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 54 41  BEGIN LIBTOOL TA
6000: 47 20 43 4f 4e 46 49 47 3a 20 24 7a 24 22 20 3c  G CONFIG: $z$" <
6010: 20 22 24 30 22 20 3e 20 2f 64 65 76 2f 6e 75 6c   "$0" > /dev/nul
6020: 6c 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 45  l; then..    # E
6030: 76 61 6c 75 61 74 65 20 74 68 65 20 63 6f 6e 66  valuate the conf
6040: 69 67 75 72 61 74 69 6f 6e 2e 0a 09 20 20 20 20  iguration...    
6050: 65 76 61 6c 20 22 60 24 7b 53 45 44 7d 20 2d 6e  eval "`${SED} -n
6060: 20 2d 65 20 27 2f 5e 23 20 23 23 23 20 42 45 47   -e '/^# ### BEG
6070: 49 4e 20 4c 49 42 54 4f 4f 4c 20 54 41 47 20 43  IN LIBTOOL TAG C
6080: 4f 4e 46 49 47 3a 20 27 24 7a 27 24 2f 2c 2f 5e  ONFIG: '$z'$/,/^
6090: 23 20 23 23 23 20 45 4e 44 20 4c 49 42 54 4f 4f  # ### END LIBTOO
60a0: 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a 20 27 24  L TAG CONFIG: '$
60b0: 7a 27 24 2f 70 27 20 3c 20 24 30 60 22 0a 09 20  z'$/p' < $0`".. 
60c0: 20 20 20 63 61 73 65 20 24 62 61 73 65 5f 63 6f     case $base_co
60d0: 6d 70 69 6c 65 20 69 6e 0a 09 20 20 20 20 22 24  mpile in..    "$
60e0: 43 43 20 22 2a 20 7c 20 22 20 24 43 43 20 22 2a  CC "* | " $CC "*
60f0: 20 7c 20 22 60 24 65 63 68 6f 20 24 43 43 60 20   | "`$echo $CC` 
6100: 22 2a 20 7c 20 22 20 60 24 65 63 68 6f 20 24 43  "* | " `$echo $C
6110: 43 60 20 22 2a 29 0a 09 20 20 20 20 20 20 23 20  C` "*)..      # 
6120: 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20  The compiler in 
6130: 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
6140: 20 6d 61 74 63 68 65 73 0a 09 20 20 20 20 20 20   matches..      
6150: 23 20 74 68 65 20 6f 6e 65 20 69 6e 20 74 68 65  # the one in the
6160: 20 74 61 67 67 65 64 20 63 6f 6e 66 69 67 75 72   tagged configur
6170: 61 74 69 6f 6e 2e 0a 09 20 20 20 20 20 20 23 20  ation...      # 
6180: 41 73 73 75 6d 65 20 74 68 69 73 20 69 73 20 74  Assume this is t
6190: 68 65 20 74 61 67 67 65 64 20 63 6f 6e 66 69 67  he tagged config
61a0: 75 72 61 74 69 6f 6e 20 77 65 20 77 61 6e 74 2e  uration we want.
61b0: 0a 09 20 20 20 20 20 20 74 61 67 6e 61 6d 65 3d  ..      tagname=
61c0: 24 7a 0a 09 20 20 20 20 20 20 62 72 65 61 6b 0a  $z..      break.
61d0: 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 65  .      ;;..    e
61e0: 73 61 63 0a 09 20 20 66 69 0a 09 64 6f 6e 65 0a  sac..  fi..done.
61f0: 09 23 20 49 66 20 24 74 61 67 6e 61 6d 65 20 73  .# If $tagname s
6200: 74 69 6c 6c 20 69 73 6e 27 74 20 73 65 74 2c 20  till isn't set, 
6210: 74 68 65 6e 20 6e 6f 20 74 61 67 67 65 64 20 63  then no tagged c
6220: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 09 23 20  onfiguration..# 
6230: 77 61 73 20 66 6f 75 6e 64 20 61 6e 64 20 6c 65  was found and le
6240: 74 20 74 68 65 20 75 73 65 72 20 6b 6e 6f 77 20  t the user know 
6250: 74 68 61 74 20 74 68 65 20 22 2d 2d 74 61 67 22  that the "--tag"
6260: 20 63 6f 6d 6d 61 6e 64 0a 09 23 20 6c 69 6e 65   command..# line
6270: 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20   option must be 
6280: 75 73 65 64 2e 0a 09 69 66 20 74 65 73 74 20 2d  used...if test -
6290: 7a 20 22 24 74 61 67 6e 61 6d 65 22 3b 20 74 68  z "$tagname"; th
62a0: 65 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f  en..  $echo "$mo
62b0: 64 65 6e 61 6d 65 3a 20 75 6e 61 62 6c 65 20 74  dename: unable t
62c0: 6f 20 69 6e 66 65 72 20 74 61 67 67 65 64 20 63  o infer tagged c
62d0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 22 0a 09 20  onfiguration".. 
62e0: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
62f0: 65 3a 20 73 70 65 63 69 66 79 20 61 20 74 61 67  e: specify a tag
6300: 20 77 69 74 68 20 5c 60 2d 2d 74 61 67 27 22 20   with \`--tag'" 
6310: 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 23  1>&2..  exit 1.#
6320: 20 20 20 20 20 20 20 65 6c 73 65 0a 23 20 20 20         else.#   
6330: 20 20 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 75 73 69 6e 67 20 24 74  dename: using $t
6350: 61 67 6e 61 6d 65 20 74 61 67 67 65 64 20 63 6f  agname tagged co
6360: 6e 66 69 67 75 72 61 74 69 6f 6e 22 0a 09 66 69  nfiguration"..fi
6370: 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63 0a  ..;;.      esac.
6380: 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20 57 65      fi..    # We
6390: 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 2d 73   need to know -s
63a0: 74 61 74 69 63 2c 20 74 6f 20 67 65 74 20 74 68  tatic, to get th
63b0: 65 20 72 69 67 68 74 20 6f 75 74 70 75 74 20 66  e right output f
63c0: 69 6c 65 6e 61 6d 65 73 2e 0a 20 20 20 20 66 6f  ilenames..    fo
63d0: 72 20 61 72 67 0a 20 20 20 20 64 6f 0a 20 20 20  r arg.    do.   
63e0: 20 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a     case $arg in.
63f0: 20 20 20 20 20 20 2d 61 6c 6c 2d 73 74 61 74 69        -all-stati
6400: 63 20 7c 20 2d 73 74 61 74 69 63 29 0a 09 69 66  c | -static)..if
6410: 20 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20   test "X$arg" = 
6420: 22 58 2d 61 6c 6c 2d 73 74 61 74 69 63 22 3b 20  "X-all-static"; 
6430: 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20  then..  if test 
6440: 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
6450: 6c 69 62 73 22 20 3d 20 79 65 73 20 26 26 20 74  libs" = yes && t
6460: 65 73 74 20 2d 7a 20 22 24 6c 69 6e 6b 5f 73 74  est -z "$link_st
6470: 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e  atic_flag"; then
6480: 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ..    $echo "$mo
6490: 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
64a0: 20 63 6f 6d 70 6c 65 74 65 20 73 74 61 74 69 63   complete static
64b0: 20 6c 69 6e 6b 69 6e 67 20 69 73 20 69 6d 70 6f   linking is impo
64c0: 73 73 69 62 6c 65 20 69 6e 20 74 68 69 73 20 63  ssible in this c
64d0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 22 20 31 3e  onfiguration" 1>
64e0: 26 32 0a 09 20 20 66 69 0a 09 20 20 69 66 20 74  &2..  fi..  if t
64f0: 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74  est -n "$link_st
6500: 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e  atic_flag"; then
6510: 0a 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73 65 6c  ..    dlopen_sel
6520: 66 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73  f=$dlopen_self_s
6530: 74 61 74 69 63 0a 09 20 20 66 69 0a 09 65 6c 73  tatic..  fi..els
6540: 65 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20  e..  if test -z 
6550: 22 24 70 69 63 5f 66 6c 61 67 22 20 26 26 20 74  "$pic_flag" && t
6560: 65 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74  est -n "$link_st
6570: 61 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e  atic_flag"; then
6580: 0a 09 20 20 20 20 64 6c 6f 70 65 6e 5f 73 65 6c  ..    dlopen_sel
6590: 66 3d 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73  f=$dlopen_self_s
65a0: 74 61 74 69 63 0a 09 20 20 66 69 0a 09 66 69 0a  tatic..  fi..fi.
65b0: 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c  .build_libtool_l
65c0: 69 62 73 3d 6e 6f 0a 09 62 75 69 6c 64 5f 6f 6c  ibs=no..build_ol
65d0: 64 5f 6c 69 62 73 3d 79 65 73 0a 09 70 72 65 66  d_libs=yes..pref
65e0: 65 72 5f 73 74 61 74 69 63 5f 6c 69 62 73 3d 79  er_static_libs=y
65f0: 65 73 0a 09 62 72 65 61 6b 0a 09 3b 3b 0a 20 20  es..break..;;.  
6600: 20 20 20 20 65 73 61 63 0a 20 20 20 20 64 6f 6e      esac.    don
6610: 65 0a 0a 20 20 20 20 23 20 53 65 65 20 69 66 20  e..    # See if 
6620: 6f 75 72 20 73 68 61 72 65 64 20 61 72 63 68 69  our shared archi
6630: 76 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 73 74  ves depend on st
6640: 61 74 69 63 20 61 72 63 68 69 76 65 73 2e 0a 20  atic archives.. 
6650: 20 20 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64     test -n "$old
6660: 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 6e 65  _archive_from_ne
6670: 77 5f 63 6d 64 73 22 20 26 26 20 62 75 69 6c 64  w_cmds" && build
6680: 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a 0a 20  _old_libs=yes.. 
6690: 20 20 20 23 20 47 6f 20 74 68 72 6f 75 67 68 20     # Go through 
66a0: 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 74  the arguments, t
66b0: 72 61 6e 73 66 6f 72 6d 69 6e 67 20 74 68 65 6d  ransforming them
66c0: 20 6f 6e 20 74 68 65 20 77 61 79 2e 0a 20 20 20   on the way..   
66d0: 20 77 68 69 6c 65 20 74 65 73 74 20 22 24 23 22   while test "$#"
66e0: 20 2d 67 74 20 30 3b 20 64 6f 0a 20 20 20 20 20   -gt 0; do.     
66f0: 20 61 72 67 3d 22 24 31 22 0a 20 20 20 20 20 20   arg="$1".      
6700: 73 68 69 66 74 0a 20 20 20 20 20 20 63 61 73 65  shift.      case
6710: 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2a   $arg in.      *
6720: 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c  [\[\~\#\^\&\*\(\
6730: 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c  )\{\}\|\;\<\>\?\
6740: 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a  '\ \.]*|*]*|"").
6750: 09 71 61 72 67 3d 5c 22 60 24 65 63 68 6f 20 22  .qarg=\"`$echo "
6760: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
6770: 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
6780: 62 73 74 22 60 5c 22 20 23 23 23 20 74 65 73 74  bst"`\" ### test
6790: 73 75 69 74 65 3a 20 73 6b 69 70 20 6e 65 73 74  suite: skip nest
67a0: 65 64 20 71 75 6f 74 69 6e 67 20 74 65 73 74 0a  ed quoting test.
67b0: 09 3b 3b 0a 20 20 20 20 20 20 2a 29 20 71 61 72  .;;.      *) qar
67c0: 67 3d 24 61 72 67 20 3b 3b 0a 20 20 20 20 20 20  g=$arg ;;.      
67d0: 65 73 61 63 0a 20 20 20 20 20 20 6c 69 62 74 6f  esac.      libto
67e0: 6f 6c 5f 61 72 67 73 3d 22 24 6c 69 62 74 6f 6f  ol_args="$libtoo
67f0: 6c 5f 61 72 67 73 20 24 71 61 72 67 22 0a 0a 20  l_args $qarg".. 
6800: 20 20 20 20 20 23 20 49 66 20 74 68 65 20 70 72       # If the pr
6810: 65 76 69 6f 75 73 20 6f 70 74 69 6f 6e 20 6e 65  evious option ne
6820: 65 64 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c  eds an argument,
6830: 20 61 73 73 69 67 6e 20 69 74 2e 0a 20 20 20 20   assign it..    
6840: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70    if test -n "$p
6850: 72 65 76 22 3b 20 74 68 65 6e 0a 09 63 61 73 65  rev"; then..case
6860: 20 24 70 72 65 76 20 69 6e 0a 09 6f 75 74 70 75   $prev in..outpu
6870: 74 29 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f  t)..  compile_co
6880: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
6890: 63 6f 6d 6d 61 6e 64 20 40 4f 55 54 50 55 54 40  command @OUTPUT@
68a0: 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f  "..  finalize_co
68b0: 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65  mmand="$finalize
68c0: 5f 63 6f 6d 6d 61 6e 64 20 40 4f 55 54 50 55 54  _command @OUTPUT
68d0: 40 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a  @"..  ;;..esac..
68e0: 09 63 61 73 65 20 24 70 72 65 76 20 69 6e 0a 09  .case $prev in..
68f0: 64 6c 66 69 6c 65 73 7c 64 6c 70 72 65 66 69 6c  dlfiles|dlprefil
6900: 65 73 29 0a 09 20 20 69 66 20 74 65 73 74 20 22  es)..  if test "
6910: 24 70 72 65 6c 6f 61 64 22 20 3d 20 6e 6f 3b 20  $preload" = no; 
6920: 74 68 65 6e 0a 09 20 20 20 20 23 20 41 64 64 20  then..    # Add 
6930: 74 68 65 20 73 79 6d 62 6f 6c 20 6f 62 6a 65 63  the symbol objec
6940: 74 20 69 6e 74 6f 20 74 68 65 20 6c 69 6e 6b 69  t into the linki
6950: 6e 67 20 63 6f 6d 6d 61 6e 64 73 2e 0a 09 20 20  ng commands...  
6960: 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e    compile_comman
6970: 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  d="$compile_comm
6980: 61 6e 64 20 40 53 59 4d 46 49 4c 45 40 22 0a 09  and @SYMFILE@"..
6990: 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d      finalize_com
69a0: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
69b0: 63 6f 6d 6d 61 6e 64 20 40 53 59 4d 46 49 4c 45  command @SYMFILE
69c0: 40 22 0a 09 20 20 20 20 70 72 65 6c 6f 61 64 3d  @"..    preload=
69d0: 79 65 73 0a 09 20 20 66 69 0a 09 20 20 63 61 73  yes..  fi..  cas
69e0: 65 20 24 61 72 67 20 69 6e 0a 09 20 20 2a 2e 6c  e $arg in..  *.l
69f0: 61 20 7c 20 2a 2e 6c 6f 29 20 3b 3b 20 20 23 20  a | *.lo) ;;  # 
6a00: 57 65 20 68 61 6e 64 6c 65 20 74 68 65 73 65 20  We handle these 
6a10: 63 61 73 65 73 20 62 65 6c 6f 77 2e 0a 09 20 20  cases below...  
6a20: 66 6f 72 63 65 29 0a 09 20 20 20 20 69 66 20 74  force)..    if t
6a30: 65 73 74 20 22 24 64 6c 73 65 6c 66 22 20 3d 20  est "$dlself" = 
6a40: 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  no; then..      
6a50: 64 6c 73 65 6c 66 3d 6e 65 65 64 6c 65 73 73 0a  dlself=needless.
6a60: 09 20 20 20 20 20 20 65 78 70 6f 72 74 5f 64 79  .      export_dy
6a70: 6e 61 6d 69 63 3d 79 65 73 0a 09 20 20 20 20 66  namic=yes..    f
6a80: 69 0a 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20  i..    prev=..  
6a90: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20    continue..    
6aa0: 3b 3b 0a 09 20 20 73 65 6c 66 29 0a 09 20 20 20  ;;..  self)..   
6ab0: 20 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22   if test "$prev"
6ac0: 20 3d 20 64 6c 70 72 65 66 69 6c 65 73 3b 20 74   = dlprefiles; t
6ad0: 68 65 6e 0a 09 20 20 20 20 20 20 64 6c 73 65 6c  hen..      dlsel
6ae0: 66 3d 79 65 73 0a 09 20 20 20 20 65 6c 69 66 20  f=yes..    elif 
6af0: 74 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64  test "$prev" = d
6b00: 6c 66 69 6c 65 73 20 26 26 20 74 65 73 74 20 22  lfiles && test "
6b10: 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 22 20 21 3d  $dlopen_self" !=
6b20: 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
6b30: 20 20 64 6c 73 65 6c 66 3d 79 65 73 0a 09 20 20    dlself=yes..  
6b40: 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 64 6c    else..      dl
6b50: 73 65 6c 66 3d 6e 65 65 64 6c 65 73 73 0a 09 20  self=needless.. 
6b60: 20 20 20 20 20 65 78 70 6f 72 74 5f 64 79 6e 61       export_dyna
6b70: 6d 69 63 3d 79 65 73 0a 09 20 20 20 20 66 69 0a  mic=yes..    fi.
6b80: 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20 20 20  .    prev=..    
6b90: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 3b 3b  continue..    ;;
6ba0: 0a 09 20 20 2a 29 0a 09 20 20 20 20 69 66 20 74  ..  *)..    if t
6bb0: 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c  est "$prev" = dl
6bc0: 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  files; then..   
6bd0: 20 20 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66     dlfiles="$dlf
6be0: 69 6c 65 73 20 24 61 72 67 22 0a 09 20 20 20 20  iles $arg"..    
6bf0: 65 6c 73 65 0a 09 20 20 20 20 20 20 64 6c 70 72  else..      dlpr
6c00: 65 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69  efiles="$dlprefi
6c10: 6c 65 73 20 24 61 72 67 22 0a 09 20 20 20 20 66  les $arg"..    f
6c20: 69 0a 09 20 20 20 20 70 72 65 76 3d 0a 09 20 20  i..    prev=..  
6c30: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20    continue..    
6c40: 3b 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 3b 3b  ;;..  esac..  ;;
6c50: 0a 09 65 78 70 73 79 6d 73 29 0a 09 20 20 65 78  ..expsyms)..  ex
6c60: 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 3d 22 24 61  port_symbols="$a
6c70: 72 67 22 0a 09 20 20 69 66 20 74 65 73 74 20 21  rg"..  if test !
6c80: 20 2d 66 20 22 24 61 72 67 22 3b 20 74 68 65 6e   -f "$arg"; then
6c90: 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f  ..    $echo "$mo
6ca0: 64 65 6e 61 6d 65 3a 20 73 79 6d 62 6f 6c 20 66  dename: symbol f
6cb0: 69 6c 65 20 5c 60 24 61 72 67 27 20 64 6f 65 73  ile \`$arg' does
6cc0: 20 6e 6f 74 20 65 78 69 73 74 22 0a 09 20 20 20   not exist"..   
6cd0: 20 65 78 69 74 20 31 0a 09 20 20 66 69 0a 09 20   exit 1..  fi.. 
6ce0: 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e   prev=..  contin
6cf0: 75 65 0a 09 20 20 3b 3b 0a 09 65 78 70 73 79 6d  ue..  ;;..expsym
6d00: 73 5f 72 65 67 65 78 29 0a 09 20 20 65 78 70 6f  s_regex)..  expo
6d10: 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
6d20: 3d 22 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d  ="$arg"..  prev=
6d30: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
6d40: 3b 3b 0a 09 69 6e 73 74 5f 70 72 65 66 69 78 29  ;;..inst_prefix)
6d50: 0a 09 20 20 69 6e 73 74 5f 70 72 65 66 69 78 5f  ..  inst_prefix_
6d60: 64 69 72 3d 22 24 61 72 67 22 0a 09 20 20 70 72  dir="$arg"..  pr
6d70: 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  ev=..  continue.
6d80: 09 20 20 3b 3b 0a 09 70 72 65 63 69 6f 75 73 5f  .  ;;..precious_
6d90: 72 65 67 65 78 29 0a 09 20 20 70 72 65 63 69 6f  regex)..  precio
6da0: 75 73 5f 66 69 6c 65 73 5f 72 65 67 65 78 3d 22  us_files_regex="
6db0: 24 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a 09  $arg"..  prev=..
6dc0: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b    continue..  ;;
6dd0: 0a 09 72 65 6c 65 61 73 65 29 0a 09 20 20 72 65  ..release)..  re
6de0: 6c 65 61 73 65 3d 22 2d 24 61 72 67 22 0a 09 20  lease="-$arg".. 
6df0: 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e   prev=..  contin
6e00: 75 65 0a 09 20 20 3b 3b 0a 09 6f 62 6a 65 63 74  ue..  ;;..object
6e10: 6c 69 73 74 29 0a 09 20 20 69 66 20 74 65 73 74  list)..  if test
6e20: 20 2d 66 20 22 24 61 72 67 22 3b 20 74 68 65 6e   -f "$arg"; then
6e30: 0a 09 20 20 20 20 73 61 76 65 5f 61 72 67 3d 24  ..    save_arg=$
6e40: 61 72 67 0a 09 20 20 20 20 6d 6f 72 65 61 72 67  arg..    morearg
6e50: 73 3d 0a 09 20 20 20 20 66 6f 72 20 66 69 6c 20  s=..    for fil 
6e60: 69 6e 20 60 63 61 74 20 24 73 61 76 65 5f 61 72  in `cat $save_ar
6e70: 67 60 0a 09 20 20 20 20 64 6f 0a 23 09 20 20 20  g`..    do.#.   
6e80: 20 20 20 6d 6f 72 65 61 72 67 73 3d 22 24 6d 6f     moreargs="$mo
6e90: 72 65 61 72 67 73 20 24 66 69 6c 22 0a 09 20 20  reargs $fil"..  
6ea0: 20 20 20 20 61 72 67 3d 24 66 69 6c 0a 09 20 20      arg=$fil..  
6eb0: 20 20 20 20 23 20 41 20 6c 69 62 74 6f 6f 6c 2d      # A libtool-
6ec0: 63 6f 6e 74 72 6f 6c 6c 65 64 20 6f 62 6a 65 63  controlled objec
6ed0: 74 2e 0a 0a 09 20 20 20 20 20 20 23 20 43 68 65  t....      # Che
6ee0: 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20 74  ck to see that t
6ef0: 68 69 73 20 72 65 61 6c 6c 79 20 69 73 20 61 20  his really is a 
6f00: 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 2e 0a  libtool object..
6f10: 09 20 20 20 20 20 20 69 66 20 28 24 7b 53 45 44  .      if (${SED
6f20: 7d 20 2d 65 20 27 32 71 27 20 24 61 72 67 20 7c  } -e '2q' $arg |
6f30: 20 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72 61   grep "^# Genera
6f40: 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41 47  ted by .*$PACKAG
6f50: 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  E") >/dev/null 2
6f60: 3e 26 31 3b 20 74 68 65 6e 0a 09 09 70 69 63 5f  >&1; then...pic_
6f70: 6f 62 6a 65 63 74 3d 0a 09 09 6e 6f 6e 5f 70 69  object=...non_pi
6f80: 63 5f 6f 62 6a 65 63 74 3d 0a 0a 09 09 23 20 52  c_object=....# R
6f90: 65 61 64 20 74 68 65 20 2e 6c 6f 20 66 69 6c 65  ead the .lo file
6fa0: 0a 09 09 23 20 49 66 20 74 68 65 72 65 20 69 73  ...# If there is
6fb0: 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63 6f   no directory co
6fc0: 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61 64  mponent, then ad
6fd0: 64 20 6f 6e 65 2e 0a 09 09 63 61 73 65 20 24 61  d one....case $a
6fe0: 72 67 20 69 6e 0a 09 09 2a 2f 2a 20 7c 20 2a 5c  rg in...*/* | *\
6ff0: 5c 2a 29 20 2e 20 24 61 72 67 20 3b 3b 0a 09 09  \*) . $arg ;;...
7000: 2a 29 20 2e 20 2e 2f 24 61 72 67 20 3b 3b 0a 09  *) . ./$arg ;;..
7010: 09 65 73 61 63 0a 0a 09 09 69 66 20 74 65 73 74  .esac....if test
7020: 20 2d 7a 20 22 24 70 69 63 5f 6f 62 6a 65 63 74   -z "$pic_object
7030: 22 20 7c 7c 20 5c 0a 09 09 20 20 20 74 65 73 74  " || \...   test
7040: 20 2d 7a 20 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62   -z "$non_pic_ob
7050: 6a 65 63 74 22 20 7c 7c 0a 09 09 20 20 20 74 65  ject" ||...   te
7060: 73 74 20 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  st "$pic_object"
7070: 20 3d 20 6e 6f 6e 65 20 26 26 20 5c 0a 09 09 20   = none && \... 
7080: 20 20 74 65 73 74 20 22 24 6e 6f 6e 5f 70 69 63    test "$non_pic
7090: 5f 6f 62 6a 65 63 74 22 20 3d 20 6e 6f 6e 65 3b  _object" = none;
70a0: 20 74 68 65 6e 0a 09 09 20 20 24 65 63 68 6f 20   then...  $echo 
70b0: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e  "$modename: cann
70c0: 6f 74 20 66 69 6e 64 20 6e 61 6d 65 20 6f 66 20  ot find name of 
70d0: 6f 62 6a 65 63 74 20 66 6f 72 20 5c 60 24 61 72  object for \`$ar
70e0: 67 27 22 20 31 3e 26 32 0a 09 09 20 20 65 78 69  g'" 1>&2...  exi
70f0: 74 20 31 0a 09 09 66 69 0a 0a 09 09 23 20 45 78  t 1...fi....# Ex
7100: 74 72 61 63 74 20 73 75 62 64 69 72 65 63 74 6f  tract subdirecto
7110: 72 79 20 66 72 6f 6d 20 74 68 65 20 61 72 67 75  ry from the argu
7120: 6d 65 6e 74 2e 0a 09 09 78 64 69 72 3d 60 24 65  ment....xdir=`$e
7130: 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58  cho "X$arg" | $X
7140: 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a  sed -e 's%/[^/]*
7150: 24 25 25 27 60 0a 09 09 69 66 20 74 65 73 74 20  $%%'`...if test 
7160: 22 58 24 78 64 69 72 22 20 3d 20 22 58 24 61 72  "X$xdir" = "X$ar
7170: 67 22 3b 20 74 68 65 6e 0a 09 09 20 20 78 64 69  g"; then...  xdi
7180: 72 3d 0a 09 09 65 6c 73 65 0a 09 09 20 20 78 64  r=...else...  xd
7190: 69 72 3d 22 24 78 64 69 72 2f 22 0a 09 09 66 69  ir="$xdir/"...fi
71a0: 0a 0a 09 09 69 66 20 74 65 73 74 20 22 24 70 69  ....if test "$pi
71b0: 63 5f 6f 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e  c_object" != non
71c0: 65 3b 20 74 68 65 6e 0a 09 09 20 20 23 20 50 72  e; then...  # Pr
71d0: 65 70 65 6e 64 20 74 68 65 20 73 75 62 64 69 72  epend the subdir
71e0: 65 63 74 6f 72 79 20 74 68 65 20 6f 62 6a 65 63  ectory the objec
71f0: 74 20 69 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09  t is found in...
7200: 09 20 20 70 69 63 5f 6f 62 6a 65 63 74 3d 22 24  .  pic_object="$
7210: 78 64 69 72 24 70 69 63 5f 6f 62 6a 65 63 74 22  xdir$pic_object"
7220: 0a 0a 09 09 20 20 69 66 20 74 65 73 74 20 22 24  ....  if test "$
7230: 70 72 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 3b  prev" = dlfiles;
7240: 20 74 68 65 6e 0a 09 09 20 20 20 20 69 66 20 74   then...    if t
7250: 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74  est "$build_libt
7260: 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 20  ool_libs" = yes 
7270: 26 26 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e  && test "$dlopen
7280: 5f 73 75 70 70 6f 72 74 22 20 3d 20 79 65 73 3b  _support" = yes;
7290: 20 74 68 65 6e 0a 09 09 20 20 20 20 20 20 64 6c   then...      dl
72a0: 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c 65 73 20  files="$dlfiles 
72b0: 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20  $pic_object"... 
72c0: 20 20 20 20 20 70 72 65 76 3d 0a 09 09 20 20 20       prev=...   
72d0: 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09 09 20 20     continue...  
72e0: 20 20 65 6c 73 65 0a 09 09 20 20 20 20 20 20 23    else...      #
72f0: 20 49 66 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65   If libtool obje
7300: 63 74 73 20 61 72 65 20 75 6e 73 75 70 70 6f 72  cts are unsuppor
7310: 74 65 64 2c 20 74 68 65 6e 20 77 65 20 6e 65 65  ted, then we nee
7320: 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e 0a 09 09  d to preload....
7330: 20 20 20 20 20 20 70 72 65 76 3d 64 6c 70 72 65        prev=dlpre
7340: 66 69 6c 65 73 0a 09 09 20 20 20 20 66 69 0a 09  files...    fi..
7350: 09 20 20 66 69 0a 0a 09 09 20 20 23 20 43 48 45  .  fi....  # CHE
7360: 43 4b 20 4d 45 3a 20 20 49 20 74 68 69 6e 6b 20  CK ME:  I think 
7370: 49 20 62 75 73 74 65 64 20 74 68 69 73 2e 20 20  I busted this.  
7380: 2d 4f 73 73 61 6d 61 0a 09 09 20 20 69 66 20 74  -Ossama...  if t
7390: 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 64 6c  est "$prev" = dl
73a0: 70 72 65 66 69 6c 65 73 3b 20 74 68 65 6e 0a 09  prefiles; then..
73b0: 09 20 20 20 20 23 20 50 72 65 6c 6f 61 64 20 74  .    # Preload t
73c0: 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a  he old-style obj
73d0: 65 63 74 2e 0a 09 09 20 20 20 20 64 6c 70 72 65  ect....    dlpre
73e0: 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c  files="$dlprefil
73f0: 65 73 20 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a  es $pic_object".
7400: 09 09 20 20 20 20 70 72 65 76 3d 0a 09 09 20 20  ..    prev=...  
7410: 66 69 0a 0a 09 09 20 20 23 20 41 20 50 49 43 20  fi....  # A PIC 
7420: 6f 62 6a 65 63 74 2e 0a 09 09 20 20 6c 69 62 6f  object....  libo
7430: 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 70  bjs="$libobjs $p
7440: 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20 20 61  ic_object"...  a
7450: 72 67 3d 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  rg="$pic_object"
7460: 0a 09 09 66 69 0a 0a 09 09 23 20 4e 6f 6e 2d 50  ...fi....# Non-P
7470: 49 43 20 6f 62 6a 65 63 74 2e 0a 09 09 69 66 20  IC object....if 
7480: 74 65 73 74 20 22 24 6e 6f 6e 5f 70 69 63 5f 6f  test "$non_pic_o
7490: 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e 65 3b 20  bject" != none; 
74a0: 74 68 65 6e 0a 09 09 20 20 23 20 50 72 65 70 65  then...  # Prepe
74b0: 6e 64 20 74 68 65 20 73 75 62 64 69 72 65 63 74  nd the subdirect
74c0: 6f 72 79 20 74 68 65 20 6f 62 6a 65 63 74 20 69  ory the object i
74d0: 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09 09 20 20  s found in....  
74e0: 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 22  non_pic_object="
74f0: 24 78 64 69 72 24 6e 6f 6e 5f 70 69 63 5f 6f 62  $xdir$non_pic_ob
7500: 6a 65 63 74 22 0a 0a 09 09 20 20 23 20 41 20 73  ject"....  # A s
7510: 74 61 6e 64 61 72 64 20 6e 6f 6e 2d 50 49 43 20  tandard non-PIC 
7520: 6f 62 6a 65 63 74 0a 09 09 20 20 6e 6f 6e 5f 70  object...  non_p
7530: 69 63 5f 6f 62 6a 65 63 74 73 3d 22 24 6e 6f 6e  ic_objects="$non
7540: 5f 70 69 63 5f 6f 62 6a 65 63 74 73 20 24 6e 6f  _pic_objects $no
7550: 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09  n_pic_object"...
7560: 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 70    if test -z "$p
7570: 69 63 5f 6f 62 6a 65 63 74 22 20 7c 7c 20 74 65  ic_object" || te
7580: 73 74 20 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  st "$pic_object"
7590: 20 3d 20 6e 6f 6e 65 20 3b 20 74 68 65 6e 0a 09   = none ; then..
75a0: 09 20 20 20 20 61 72 67 3d 22 24 6e 6f 6e 5f 70  .    arg="$non_p
75b0: 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20 20 66  ic_object"...  f
75c0: 69 0a 09 09 66 69 0a 09 20 20 20 20 20 20 65 6c  i...fi..      el
75d0: 73 65 0a 09 09 23 20 4f 6e 6c 79 20 61 6e 20 65  se...# Only an e
75e0: 72 72 6f 72 20 69 66 20 6e 6f 74 20 64 6f 69 6e  rror if not doin
75f0: 67 20 61 20 64 72 79 2d 72 75 6e 2e 0a 09 09 69  g a dry-run....i
7600: 66 20 74 65 73 74 20 2d 7a 20 22 24 72 75 6e 22  f test -z "$run"
7610: 3b 20 74 68 65 6e 0a 09 09 20 20 24 65 63 68 6f  ; then...  $echo
7620: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24   "$modename: \`$
7630: 61 72 67 27 20 69 73 20 6e 6f 74 20 61 20 76 61  arg' is not a va
7640: 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65  lid libtool obje
7650: 63 74 22 20 31 3e 26 32 0a 09 09 20 20 65 78 69  ct" 1>&2...  exi
7660: 74 20 31 0a 09 09 65 6c 73 65 0a 09 09 20 20 23  t 1...else...  #
7670: 20 44 72 79 2d 72 75 6e 20 63 61 73 65 2e 0a 0a   Dry-run case...
7680: 09 09 20 20 23 20 45 78 74 72 61 63 74 20 73 75  ..  # Extract su
7690: 62 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20  bdirectory from 
76a0: 74 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 09 09  the argument....
76b0: 20 20 78 64 69 72 3d 60 24 65 63 68 6f 20 22 58    xdir=`$echo "X
76c0: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
76d0: 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a   's%/[^/]*$%%'`.
76e0: 09 09 20 20 69 66 20 74 65 73 74 20 22 58 24 78  ..  if test "X$x
76f0: 64 69 72 22 20 3d 20 22 58 24 61 72 67 22 3b 20  dir" = "X$arg"; 
7700: 74 68 65 6e 0a 09 09 20 20 20 20 78 64 69 72 3d  then...    xdir=
7710: 0a 09 09 20 20 65 6c 73 65 0a 09 09 20 20 20 20  ...  else...    
7720: 78 64 69 72 3d 22 24 78 64 69 72 2f 22 0a 09 09  xdir="$xdir/"...
7730: 20 20 66 69 0a 0a 09 09 20 20 70 69 63 5f 6f 62    fi....  pic_ob
7740: 6a 65 63 74 3d 60 24 65 63 68 6f 20 22 58 24 7b  ject=`$echo "X${
7750: 78 64 69 72 7d 24 7b 6f 62 6a 64 69 72 7d 2f 24  xdir}${objdir}/$
7760: 7b 61 72 67 7d 22 20 7c 20 24 58 73 65 64 20 2d  {arg}" | $Xsed -
7770: 65 20 22 24 6c 6f 32 6f 22 60 0a 09 09 20 20 6e  e "$lo2o"`...  n
7780: 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d 60 24  on_pic_object=`$
7790: 65 63 68 6f 20 22 58 24 7b 78 64 69 72 7d 24 7b  echo "X${xdir}${
77a0: 61 72 67 7d 22 20 7c 20 24 58 73 65 64 20 2d 65  arg}" | $Xsed -e
77b0: 20 22 24 6c 6f 32 6f 22 60 0a 09 09 20 20 6c 69   "$lo2o"`...  li
77c0: 62 6f 62 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 20  bobjs="$libobjs 
77d0: 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 09 20  $pic_object"... 
77e0: 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73   non_pic_objects
77f0: 3d 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63  ="$non_pic_objec
7800: 74 73 20 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65  ts $non_pic_obje
7810: 63 74 22 0a 09 09 66 69 0a 09 20 20 20 20 20 20  ct"...fi..      
7820: 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20  fi..    done..  
7830: 65 6c 73 65 0a 09 20 20 20 20 24 65 63 68 6f 20  else..    $echo 
7840: 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6c 69 6e 6b  "$modename: link
7850: 20 69 6e 70 75 74 20 66 69 6c 65 20 5c 60 24 73   input file \`$s
7860: 61 76 65 5f 61 72 67 27 20 64 6f 65 73 20 6e 6f  ave_arg' does no
7870: 74 20 65 78 69 73 74 22 0a 09 20 20 20 20 65 78  t exist"..    ex
7880: 69 74 20 31 0a 09 20 20 66 69 0a 09 20 20 61 72  it 1..  fi..  ar
7890: 67 3d 24 73 61 76 65 5f 61 72 67 0a 09 20 20 70  g=$save_arg..  p
78a0: 72 65 76 3d 0a 09 20 20 63 6f 6e 74 69 6e 75 65  rev=..  continue
78b0: 0a 09 20 20 3b 3b 0a 09 72 70 61 74 68 20 7c 20  ..  ;;..rpath | 
78c0: 78 72 70 61 74 68 29 0a 09 20 20 23 20 57 65 20  xrpath)..  # We 
78d0: 6e 65 65 64 20 61 6e 20 61 62 73 6f 6c 75 74 65  need an absolute
78e0: 20 70 61 74 68 2e 0a 09 20 20 63 61 73 65 20 24   path...  case $
78f0: 61 72 67 20 69 6e 0a 09 20 20 5b 5c 5c 2f 5d 2a  arg in..  [\\/]*
7900: 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f   | [A-Za-z]:[\\/
7910: 5d 2a 29 20 3b 3b 0a 09 20 20 2a 29 0a 09 20 20  ]*) ;;..  *)..  
7920: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
7930: 6d 65 3a 20 6f 6e 6c 79 20 61 62 73 6f 6c 75 74  me: only absolut
7940: 65 20 72 75 6e 2d 70 61 74 68 73 20 61 72 65 20  e run-paths are 
7950: 61 6c 6c 6f 77 65 64 22 20 31 3e 26 32 0a 09 20  allowed" 1>&2.. 
7960: 20 20 20 65 78 69 74 20 31 0a 09 20 20 20 20 3b     exit 1..    ;
7970: 3b 0a 09 20 20 65 73 61 63 0a 09 20 20 69 66 20  ;..  esac..  if 
7980: 74 65 73 74 20 22 24 70 72 65 76 22 20 3d 20 72  test "$prev" = r
7990: 70 61 74 68 3b 20 74 68 65 6e 0a 09 20 20 20 20  path; then..    
79a0: 63 61 73 65 20 22 24 72 70 61 74 68 20 22 20 69  case "$rpath " i
79b0: 6e 0a 09 20 20 20 20 2a 22 20 24 61 72 67 20 22  n..    *" $arg "
79c0: 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20 72 70  *) ;;..    *) rp
79d0: 61 74 68 3d 22 24 72 70 61 74 68 20 24 61 72 67  ath="$rpath $arg
79e0: 22 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09  " ;;..    esac..
79f0: 20 20 65 6c 73 65 0a 09 20 20 20 20 63 61 73 65    else..    case
7a00: 20 22 24 78 72 70 61 74 68 20 22 20 69 6e 0a 09   "$xrpath " in..
7a10: 20 20 20 20 2a 22 20 24 61 72 67 20 22 2a 29 20      *" $arg "*) 
7a20: 3b 3b 0a 09 20 20 20 20 2a 29 20 78 72 70 61 74  ;;..    *) xrpat
7a30: 68 3d 22 24 78 72 70 61 74 68 20 24 61 72 67 22  h="$xrpath $arg"
7a40: 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20   ;;..    esac.. 
7a50: 20 66 69 0a 09 20 20 70 72 65 76 3d 0a 09 20 20   fi..  prev=..  
7a60: 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09  continue..  ;;..
7a70: 78 63 6f 6d 70 69 6c 65 72 29 0a 09 20 20 63 6f  xcompiler)..  co
7a80: 6d 70 69 6c 65 72 5f 66 6c 61 67 73 3d 22 24 63  mpiler_flags="$c
7a90: 6f 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20 24 71  ompiler_flags $q
7aa0: 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a 09 20  arg"..  prev=.. 
7ab0: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
7ac0: 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  ="$compile_comma
7ad0: 6e 64 20 24 71 61 72 67 22 0a 09 20 20 66 69 6e  nd $qarg"..  fin
7ae0: 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
7af0: 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
7b00: 20 24 71 61 72 67 22 0a 09 20 20 63 6f 6e 74 69   $qarg"..  conti
7b10: 6e 75 65 0a 09 20 20 3b 3b 0a 09 78 6c 69 6e 6b  nue..  ;;..xlink
7b20: 65 72 29 0a 09 20 20 6c 69 6e 6b 65 72 5f 66 6c  er)..  linker_fl
7b30: 61 67 73 3d 22 24 6c 69 6e 6b 65 72 5f 66 6c 61  ags="$linker_fla
7b40: 67 73 20 24 71 61 72 67 22 0a 09 20 20 63 6f 6d  gs $qarg"..  com
7b50: 70 69 6c 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f  piler_flags="$co
7b60: 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20 24 77 6c  mpiler_flags $wl
7b70: 24 71 61 72 67 22 0a 09 20 20 70 72 65 76 3d 0a  $qarg"..  prev=.
7b80: 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  .  compile_comma
7b90: 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
7ba0: 6d 61 6e 64 20 24 77 6c 24 71 61 72 67 22 0a 09  mand $wl$qarg"..
7bb0: 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61    finalize_comma
7bc0: 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  nd="$finalize_co
7bd0: 6d 6d 61 6e 64 20 24 77 6c 24 71 61 72 67 22 0a  mmand $wl$qarg".
7be0: 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b  .  continue..  ;
7bf0: 3b 0a 09 78 63 63 6c 69 6e 6b 65 72 29 0a 09 20  ;..xcclinker).. 
7c00: 20 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 3d 22 24   linker_flags="$
7c10: 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 20 24 71 61  linker_flags $qa
7c20: 72 67 22 0a 09 20 20 63 6f 6d 70 69 6c 65 72 5f  rg"..  compiler_
7c30: 66 6c 61 67 73 3d 22 24 63 6f 6d 70 69 6c 65 72  flags="$compiler
7c40: 5f 66 6c 61 67 73 20 24 71 61 72 67 22 0a 09 20  _flags $qarg".. 
7c50: 20 70 72 65 76 3d 0a 09 20 20 63 6f 6d 70 69 6c   prev=..  compil
7c60: 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70  e_command="$comp
7c70: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 71 61 72  ile_command $qar
7c80: 67 22 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63  g"..  finalize_c
7c90: 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a  ommand="$finaliz
7ca0: 65 5f 63 6f 6d 6d 61 6e 64 20 24 71 61 72 67 22  e_command $qarg"
7cb0: 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20  ..  continue..  
7cc0: 3b 3b 0a 09 2a 29 0a 09 20 20 65 76 61 6c 20 22  ;;..*)..  eval "
7cd0: 24 70 72 65 76 3d 5c 22 5c 24 61 72 67 5c 22 22  $prev=\"\$arg\""
7ce0: 0a 09 20 20 70 72 65 76 3d 0a 09 20 20 63 6f 6e  ..  prev=..  con
7cf0: 74 69 6e 75 65 0a 09 20 20 3b 3b 0a 09 65 73 61  tinue..  ;;..esa
7d00: 63 0a 20 20 20 20 20 20 66 69 20 23 20 74 65 73  c.      fi # tes
7d10: 74 20 2d 6e 20 22 24 70 72 65 76 22 0a 0a 20 20  t -n "$prev"..  
7d20: 20 20 20 20 70 72 65 76 61 72 67 3d 22 24 61 72      prevarg="$ar
7d30: 67 22 0a 0a 20 20 20 20 20 20 63 61 73 65 20 24  g"..      case $
7d40: 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2d 61 6c  arg in.      -al
7d50: 6c 2d 73 74 61 74 69 63 29 0a 09 69 66 20 74 65  l-static)..if te
7d60: 73 74 20 2d 6e 20 22 24 6c 69 6e 6b 5f 73 74 61  st -n "$link_sta
7d70: 74 69 63 5f 66 6c 61 67 22 3b 20 74 68 65 6e 0a  tic_flag"; then.
7d80: 09 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  .  compile_comma
7d90: 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
7da0: 6d 61 6e 64 20 24 6c 69 6e 6b 5f 73 74 61 74 69  mand $link_stati
7db0: 63 5f 66 6c 61 67 22 0a 09 20 20 66 69 6e 61 6c  c_flag"..  final
7dc0: 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69  ize_command="$fi
7dd0: 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24  nalize_command $
7de0: 6c 69 6e 6b 5f 73 74 61 74 69 63 5f 66 6c 61 67  link_static_flag
7df0: 22 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65 0a  "..fi..continue.
7e00: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 61 6c 6c 6f  .;;..      -allo
7e10: 77 2d 75 6e 64 65 66 69 6e 65 64 29 0a 09 23 20  w-undefined)..# 
7e20: 46 49 58 4d 45 3a 20 72 65 6d 6f 76 65 20 74 68  FIXME: remove th
7e30: 69 73 20 66 6c 61 67 20 73 6f 6d 65 74 69 6d 65  is flag sometime
7e40: 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a   in the future..
7e50: 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
7e60: 65 3a 20 5c 60 2d 61 6c 6c 6f 77 2d 75 6e 64 65  e: \`-allow-unde
7e70: 66 69 6e 65 64 27 20 69 73 20 64 65 70 72 65 63  fined' is deprec
7e80: 61 74 65 64 20 62 65 63 61 75 73 65 20 69 74 20  ated because it 
7e90: 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 22 20  is the default" 
7ea0: 31 3e 26 32 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  1>&2..continue..
7eb0: 3b 3b 0a 0a 20 20 20 20 20 20 2d 61 76 6f 69 64  ;;..      -avoid
7ec0: 2d 76 65 72 73 69 6f 6e 29 0a 09 61 76 6f 69 64  -version)..avoid
7ed0: 5f 76 65 72 73 69 6f 6e 3d 79 65 73 0a 09 63 6f  _version=yes..co
7ee0: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
7ef0: 20 20 2d 64 6c 6f 70 65 6e 29 0a 09 70 72 65 76    -dlopen)..prev
7f00: 3d 64 6c 66 69 6c 65 73 0a 09 63 6f 6e 74 69 6e  =dlfiles..contin
7f10: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 64  ue..;;..      -d
7f20: 6c 70 72 65 6f 70 65 6e 29 0a 09 70 72 65 76 3d  lpreopen)..prev=
7f30: 64 6c 70 72 65 66 69 6c 65 73 0a 09 63 6f 6e 74  dlprefiles..cont
7f40: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  inue..;;..      
7f50: 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63 29  -export-dynamic)
7f60: 0a 09 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63  ..export_dynamic
7f70: 3d 79 65 73 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  =yes..continue..
7f80: 3b 3b 0a 0a 20 20 20 20 20 20 2d 65 78 70 6f 72  ;;..      -expor
7f90: 74 2d 73 79 6d 62 6f 6c 73 20 7c 20 2d 65 78 70  t-symbols | -exp
7fa0: 6f 72 74 2d 73 79 6d 62 6f 6c 73 2d 72 65 67 65  ort-symbols-rege
7fb0: 78 29 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22  x)..if test -n "
7fc0: 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22  $export_symbols"
7fd0: 20 7c 7c 20 74 65 73 74 20 2d 6e 20 22 24 65 78   || test -n "$ex
7fe0: 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67  port_symbols_reg
7ff0: 65 78 22 3b 20 74 68 65 6e 0a 09 20 20 24 65 63  ex"; then..  $ec
8000: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6d  ho "$modename: m
8010: 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 2d 65 78  ore than one -ex
8020: 70 6f 72 74 65 64 2d 73 79 6d 62 6f 6c 73 20 61  ported-symbols a
8030: 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61  rgument is not a
8040: 6c 6c 6f 77 65 64 22 0a 09 20 20 65 78 69 74 20  llowed"..  exit 
8050: 31 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20 22  1..fi..if test "
8060: 58 24 61 72 67 22 20 3d 20 22 58 2d 65 78 70 6f  X$arg" = "X-expo
8070: 72 74 2d 73 79 6d 62 6f 6c 73 22 3b 20 74 68 65  rt-symbols"; the
8080: 6e 0a 09 20 20 70 72 65 76 3d 65 78 70 73 79 6d  n..  prev=expsym
8090: 73 0a 09 65 6c 73 65 0a 09 20 20 70 72 65 76 3d  s..else..  prev=
80a0: 65 78 70 73 79 6d 73 5f 72 65 67 65 78 0a 09 66  expsyms_regex..f
80b0: 69 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  i..continue..;;.
80c0: 0a 20 20 20 20 20 20 2d 69 6e 73 74 2d 70 72 65  .      -inst-pre
80d0: 66 69 78 2d 64 69 72 29 0a 09 70 72 65 76 3d 69  fix-dir)..prev=i
80e0: 6e 73 74 5f 70 72 65 66 69 78 0a 09 63 6f 6e 74  nst_prefix..cont
80f0: 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  inue..;;..      
8100: 23 20 54 68 65 20 6e 61 74 69 76 65 20 49 52 49  # The native IRI
8110: 58 20 6c 69 6e 6b 65 72 20 75 6e 64 65 72 73 74  X linker underst
8120: 61 6e 64 73 20 2d 4c 41 4e 47 3a 2a 2c 20 2d 4c  ands -LANG:*, -L
8130: 49 53 54 3a 2a 20 61 6e 64 20 2d 4c 4e 4f 3a 2a  IST:* and -LNO:*
8140: 0a 20 20 20 20 20 20 23 20 73 6f 2c 20 69 66 20  .      # so, if 
8150: 77 65 20 73 65 65 20 74 68 65 73 65 20 66 6c 61  we see these fla
8160: 67 73 20 62 65 20 63 61 72 65 66 75 6c 20 6e 6f  gs be careful no
8170: 74 20 74 6f 20 74 72 65 61 74 20 74 68 65 6d 20  t to treat them 
8180: 6c 69 6b 65 20 2d 4c 0a 20 20 20 20 20 20 2d 4c  like -L.      -L
8190: 5b 41 2d 5a 5d 5b 41 2d 5a 5d 2a 3a 2a 29 0a 09  [A-Z][A-Z]*:*)..
81a0: 63 61 73 65 20 24 77 69 74 68 5f 67 63 63 2f 24  case $with_gcc/$
81b0: 68 6f 73 74 20 69 6e 0a 09 6e 6f 2f 2a 2d 2a 2d  host in..no/*-*-
81c0: 69 72 69 78 2a 20 7c 20 2f 2a 2d 2a 2d 69 72 69  irix* | /*-*-iri
81d0: 78 2a 29 0a 09 20 20 63 6f 6d 70 69 6c 65 5f 63  x*)..  compile_c
81e0: 6f 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65  ommand="$compile
81f0: 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 09  _command $arg"..
8200: 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61    finalize_comma
8210: 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63 6f  nd="$finalize_co
8220: 6d 6d 61 6e 64 20 24 61 72 67 22 0a 09 20 20 3b  mmand $arg"..  ;
8230: 3b 0a 09 65 73 61 63 0a 09 63 6f 6e 74 69 6e 75  ;..esac..continu
8240: 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 4c 2a  e..;;..      -L*
8250: 29 0a 09 64 69 72 3d 60 24 65 63 68 6f 20 22 58  )..dir=`$echo "X
8260: 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65  $arg" | $Xsed -e
8270: 20 27 73 2f 5e 2d 4c 2f 2f 27 60 0a 09 23 20 57   's/^-L//'`..# W
8280: 65 20 6e 65 65 64 20 61 6e 20 61 62 73 6f 6c 75  e need an absolu
8290: 74 65 20 70 61 74 68 2e 0a 09 63 61 73 65 20 24  te path...case $
82a0: 64 69 72 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c  dir in..[\\/]* |
82b0: 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a   [A-Za-z]:[\\/]*
82c0: 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 61 62 73 64  ) ;;..*)..  absd
82d0: 69 72 3d 60 63 64 20 22 24 64 69 72 22 20 26 26  ir=`cd "$dir" &&
82e0: 20 70 77 64 60 0a 09 20 20 69 66 20 74 65 73 74   pwd`..  if test
82f0: 20 2d 7a 20 22 24 61 62 73 64 69 72 22 3b 20 74   -z "$absdir"; t
8300: 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22  hen..    $echo "
8310: 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f  $modename: canno
8320: 74 20 64 65 74 65 72 6d 69 6e 65 20 61 62 73 6f  t determine abso
8330: 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79 20 6e  lute directory n
8340: 61 6d 65 20 6f 66 20 5c 60 24 64 69 72 27 22 20  ame of \`$dir'" 
8350: 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20 31  1>&2..    exit 1
8360: 0a 09 20 20 66 69 0a 09 20 20 64 69 72 3d 22 24  ..  fi..  dir="$
8370: 61 62 73 64 69 72 22 0a 09 20 20 3b 3b 0a 09 65  absdir"..  ;;..e
8380: 73 61 63 0a 09 63 61 73 65 20 22 24 64 65 70 6c  sac..case "$depl
8390: 69 62 73 20 22 20 69 6e 0a 09 2a 22 20 2d 4c 24  ibs " in..*" -L$
83a0: 64 69 72 20 22 2a 29 20 3b 3b 0a 09 2a 29 0a 09  dir "*) ;;..*)..
83b0: 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c    deplibs="$depl
83c0: 69 62 73 20 2d 4c 24 64 69 72 22 0a 09 20 20 6c  ibs -L$dir"..  l
83d0: 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 22  ib_search_path="
83e0: 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  $lib_search_path
83f0: 20 24 64 69 72 22 0a 09 20 20 3b 3b 0a 09 65 73   $dir"..  ;;..es
8400: 61 63 0a 09 63 61 73 65 20 24 68 6f 73 74 20 69  ac..case $host i
8410: 6e 0a 09 2a 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c  n..*-*-cygwin* |
8420: 20 2a 2d 2a 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d   *-*-mingw* | *-
8430: 2a 2d 70 77 33 32 2a 20 7c 20 2a 2d 2a 2d 6f 73  *-pw32* | *-*-os
8440: 32 2a 29 0a 09 20 20 63 61 73 65 20 3a 24 64 6c  2*)..  case :$dl
8450: 6c 73 65 61 72 63 68 70 61 74 68 3a 20 69 6e 0a  lsearchpath: in.
8460: 09 20 20 2a 22 3a 24 64 69 72 3a 22 2a 29 20 3b  .  *":$dir:"*) ;
8470: 3b 0a 09 20 20 2a 29 20 64 6c 6c 73 65 61 72 63  ;..  *) dllsearc
8480: 68 70 61 74 68 3d 22 24 64 6c 6c 73 65 61 72 63  hpath="$dllsearc
8490: 68 70 61 74 68 3a 24 64 69 72 22 3b 3b 0a 09 20  hpath:$dir";;.. 
84a0: 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61   esac..  ;;..esa
84b0: 63 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  c..continue..;;.
84c0: 0a 20 20 20 20 20 20 2d 6c 2a 29 0a 09 69 66 20  .      -l*)..if 
84d0: 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20 22  test "X$arg" = "
84e0: 58 2d 6c 63 22 20 7c 7c 20 74 65 73 74 20 22 58  X-lc" || test "X
84f0: 24 61 72 67 22 20 3d 20 22 58 2d 6c 6d 22 3b 20  $arg" = "X-lm"; 
8500: 74 68 65 6e 0a 09 20 20 63 61 73 65 20 24 68 6f  then..  case $ho
8510: 73 74 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79 67  st in..  *-*-cyg
8520: 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a  win* | *-*-pw32*
8530: 20 7c 20 2a 2d 2a 2d 62 65 6f 73 2a 29 0a 09 20   | *-*-beos*).. 
8540: 20 20 20 23 20 54 68 65 73 65 20 73 79 73 74 65     # These syste
8550: 6d 73 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c  ms don't actuall
8560: 79 20 68 61 76 65 20 61 20 43 20 6f 72 20 6d 61  y have a C or ma
8570: 74 68 20 6c 69 62 72 61 72 79 20 28 61 73 20 73  th library (as s
8580: 75 63 68 29 0a 09 20 20 20 20 63 6f 6e 74 69 6e  uch)..    contin
8590: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d  ue..    ;;..  *-
85a0: 2a 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 6f  *-mingw* | *-*-o
85b0: 73 32 2a 29 0a 09 20 20 20 20 23 20 54 68 65 73  s2*)..    # Thes
85c0: 65 20 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20  e systems don't 
85d0: 61 63 74 75 61 6c 6c 79 20 68 61 76 65 20 61 20  actually have a 
85e0: 43 20 6c 69 62 72 61 72 79 20 28 61 73 20 73 75  C library (as su
85f0: 63 68 29 0a 09 20 20 20 20 74 65 73 74 20 22 58  ch)..    test "X
8600: 24 61 72 67 22 20 3d 20 22 58 2d 6c 63 22 20 26  $arg" = "X-lc" &
8610: 26 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20  & continue..    
8620: 3b 3b 0a 09 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73  ;;..  *-*-openbs
8630: 64 2a 20 7c 20 2a 2d 2a 2d 66 72 65 65 62 73 64  d* | *-*-freebsd
8640: 2a 29 0a 09 20 20 20 20 23 20 44 6f 20 6e 6f 74  *)..    # Do not
8650: 20 69 6e 63 6c 75 64 65 20 6c 69 62 63 20 64 75   include libc du
8660: 65 20 74 6f 20 75 73 20 68 61 76 69 6e 67 20 6c  e to us having l
8670: 69 62 63 2f 6c 69 62 63 5f 72 2e 0a 09 20 20 20  ibc/libc_r...   
8680: 20 74 65 73 74 20 22 58 24 61 72 67 22 20 3d 20   test "X$arg" = 
8690: 22 58 2d 6c 63 22 20 26 26 20 63 6f 6e 74 69 6e  "X-lc" && contin
86a0: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d  ue..    ;;..  *-
86b0: 2a 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20 2a 2d  *-rhapsody* | *-
86c0: 2a 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32 5d 29  *-darwin1.[012])
86d0: 0a 09 20 20 20 20 23 20 52 68 61 70 73 6f 64 79  ..    # Rhapsody
86e0: 20 43 20 61 6e 64 20 6d 61 74 68 20 6c 69 62 72   C and math libr
86f0: 61 72 69 65 73 20 61 72 65 20 69 6e 20 74 68 65  aries are in the
8700: 20 53 79 73 74 65 6d 20 66 72 61 6d 65 77 6f 72   System framewor
8710: 6b 0a 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22  k..    deplibs="
8720: 24 64 65 70 6c 69 62 73 20 2d 66 72 61 6d 65 77  $deplibs -framew
8730: 6f 72 6b 20 53 79 73 74 65 6d 22 0a 09 20 20 20  ork System"..   
8740: 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 65 73 61   continue..  esa
8750: 63 0a 09 65 6c 69 66 20 74 65 73 74 20 22 58 24  c..elif test "X$
8760: 61 72 67 22 20 3d 20 22 58 2d 6c 63 5f 72 22 3b  arg" = "X-lc_r";
8770: 20 74 68 65 6e 0a 09 20 63 61 73 65 20 24 68 6f   then.. case $ho
8780: 73 74 20 69 6e 0a 09 20 2a 2d 2a 2d 6f 70 65 6e  st in.. *-*-open
8790: 62 73 64 2a 20 7c 20 2a 2d 2a 2d 66 72 65 65 62  bsd* | *-*-freeb
87a0: 73 64 2a 29 0a 09 20 20 20 23 20 44 6f 20 6e 6f  sd*)..   # Do no
87b0: 74 20 69 6e 63 6c 75 64 65 20 6c 69 62 63 5f 72  t include libc_r
87c0: 20 64 69 72 65 63 74 6c 79 2c 20 75 73 65 20 2d   directly, use -
87d0: 70 74 68 72 65 61 64 20 66 6c 61 67 2e 0a 09 20  pthread flag... 
87e0: 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 3b    continue..   ;
87f0: 3b 0a 09 20 65 73 61 63 0a 09 66 69 0a 09 64 65  ;.. esac..fi..de
8800: 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20  plibs="$deplibs 
8810: 24 61 72 67 22 0a 09 63 6f 6e 74 69 6e 75 65 0a  $arg"..continue.
8820: 09 3b 3b 0a 0a 20 20 20 20 20 2d 6d 74 7c 2d 6d  .;;..     -mt|-m
8830: 74 68 72 65 61 64 73 7c 2d 6b 74 68 72 65 61 64  threads|-kthread
8840: 7c 2d 4b 74 68 72 65 61 64 7c 2d 70 74 68 72 65  |-Kthread|-pthre
8850: 61 64 7c 2d 70 74 68 72 65 61 64 73 7c 2d 2d 74  ad|-pthreads|--t
8860: 68 72 65 61 64 2d 73 61 66 65 29 0a 09 64 65 70  hread-safe)..dep
8870: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 24  libs="$deplibs $
8880: 61 72 67 22 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  arg"..continue..
8890: 3b 3b 0a 0a 20 20 20 20 20 20 2d 6d 6f 64 75 6c  ;;..      -modul
88a0: 65 29 0a 09 6d 6f 64 75 6c 65 3d 79 65 73 0a 09  e)..module=yes..
88b0: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
88c0: 20 20 20 20 23 20 67 63 63 20 2d 6d 2a 20 61 72      # gcc -m* ar
88d0: 67 75 6d 65 6e 74 73 20 73 68 6f 75 6c 64 20 62  guments should b
88e0: 65 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20  e passed to the 
88f0: 6c 69 6e 6b 65 72 20 76 69 61 20 24 63 6f 6d 70  linker via $comp
8900: 69 6c 65 72 5f 66 6c 61 67 73 0a 20 20 20 20 20  iler_flags.     
8910: 20 23 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70   # in order to p
8920: 61 73 73 20 61 72 63 68 69 74 65 63 74 75 72 65  ass architecture
8930: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20   information to 
8940: 74 68 65 20 6c 69 6e 6b 65 72 0a 20 20 20 20 20  the linker.     
8950: 20 23 20 28 65 2e 67 2e 20 33 32 20 76 73 20 36   # (e.g. 32 vs 6
8960: 34 2d 62 69 74 29 2e 20 20 54 68 69 73 20 6d 61  4-bit).  This ma
8970: 79 20 61 6c 73 6f 20 62 65 20 61 63 63 6f 6d 70  y also be accomp
8980: 6c 69 73 68 65 64 20 76 69 61 20 2d 57 6c 2c 2d  lished via -Wl,-
8990: 6d 66 6f 6f 0a 20 20 20 20 20 20 23 20 62 75 74  mfoo.      # but
89a0: 20 74 68 69 73 20 69 73 20 6e 6f 74 20 72 65 6c   this is not rel
89b0: 69 61 62 6c 65 20 77 69 74 68 20 67 63 63 20 62  iable with gcc b
89c0: 65 63 61 75 73 65 20 67 63 63 20 6d 61 79 20 75  ecause gcc may u
89d0: 73 65 20 2d 6d 66 6f 6f 20 74 6f 0a 20 20 20 20  se -mfoo to.    
89e0: 20 20 23 20 73 65 6c 65 63 74 20 61 20 64 69 66    # select a dif
89f0: 66 65 72 65 6e 74 20 6c 69 6e 6b 65 72 2c 20 64  ferent linker, d
8a00: 69 66 66 65 72 65 6e 74 20 6c 69 62 72 61 72 69  ifferent librari
8a10: 65 73 2c 20 65 74 63 2c 20 77 68 69 6c 65 0a 20  es, etc, while. 
8a20: 20 20 20 20 20 23 20 2d 57 6c 2c 2d 6d 66 6f 6f       # -Wl,-mfoo
8a30: 20 73 69 6d 70 6c 79 20 70 61 73 73 65 73 20 2d   simply passes -
8a40: 6d 66 6f 6f 20 74 6f 20 74 68 65 20 6c 69 6e 6b  mfoo to the link
8a50: 65 72 2e 0a 20 20 20 20 20 20 2d 6d 2a 29 0a 09  er..      -m*)..
8a60: 23 20 55 6e 6b 6e 6f 77 6e 20 61 72 67 75 6d 65  # Unknown argume
8a70: 6e 74 73 20 69 6e 20 62 6f 74 68 20 66 69 6e 61  nts in both fina
8a80: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 61 6e 64  lize_command and
8a90: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
8aa0: 20 6e 65 65 64 0a 09 23 20 74 6f 20 62 65 20 61   need..# to be a
8ab0: 65 73 74 68 65 74 69 63 61 6c 6c 79 20 71 75 6f  esthetically quo
8ac0: 74 65 64 20 62 65 63 61 75 73 65 20 74 68 65 79  ted because they
8ad0: 20 61 72 65 20 65 76 61 6c 65 64 20 6c 61 74 65   are evaled late
8ae0: 72 2e 0a 09 61 72 67 3d 60 24 65 63 68 6f 20 22  r...arg=`$echo "
8af0: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
8b00: 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
8b10: 62 73 74 22 60 0a 09 63 61 73 65 20 24 61 72 67  bst"`..case $arg
8b20: 20 69 6e 0a 09 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c   in..*[\[\~\#\^\
8b30: 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c  &\*\(\)\{\}\|\;\
8b40: 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d  <\>\?\'\ \.]*|*]
8b50: 2a 7c 22 22 29 0a 09 20 20 61 72 67 3d 22 5c 22  *|"")..  arg="\"
8b60: 24 61 72 67 5c 22 22 0a 09 20 20 3b 3b 0a 09 65  $arg\""..  ;;..e
8b70: 73 61 63 0a 20 20 20 20 20 20 20 20 63 6f 6d 70  sac.        comp
8b80: 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 63 6f  ile_command="$co
8b90: 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 24 61  mpile_command $a
8ba0: 72 67 22 0a 20 20 20 20 20 20 20 20 66 69 6e 61  rg".        fina
8bb0: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66  lize_command="$f
8bc0: 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20  inalize_command 
8bd0: 24 61 72 67 22 0a 20 20 20 20 20 20 20 20 69 66  $arg".        if
8be0: 20 74 65 73 74 20 22 24 77 69 74 68 5f 67 63 63   test "$with_gcc
8bf0: 22 20 3d 20 22 79 65 73 22 20 3b 20 74 68 65 6e  " = "yes" ; then
8c00: 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69  .          compi
8c10: 6c 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f 6d 70  ler_flags="$comp
8c20: 69 6c 65 72 5f 66 6c 61 67 73 20 24 61 72 67 22  iler_flags $arg"
8c30: 0a 20 20 20 20 20 20 20 20 66 69 0a 20 20 20 20  .        fi.    
8c40: 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 20 20 20      continue.   
8c50: 20 20 20 20 20 3b 3b 0a 0a 20 20 20 20 20 20 2d       ;;..      -
8c60: 73 68 72 65 78 74 29 0a 09 70 72 65 76 3d 73 68  shrext)..prev=sh
8c70: 72 65 78 74 0a 09 63 6f 6e 74 69 6e 75 65 0a 09  rext..continue..
8c80: 3b 3b 0a 0a 20 20 20 20 20 20 2d 6e 6f 2d 66 61  ;;..      -no-fa
8c90: 73 74 2d 69 6e 73 74 61 6c 6c 29 0a 09 66 61 73  st-install)..fas
8ca0: 74 5f 69 6e 73 74 61 6c 6c 3d 6e 6f 0a 09 63 6f  t_install=no..co
8cb0: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
8cc0: 20 20 2d 6e 6f 2d 69 6e 73 74 61 6c 6c 29 0a 09    -no-install)..
8cd0: 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 2a  case $host in..*
8ce0: 2d 2a 2d 63 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a  -*-cygwin* | *-*
8cf0: 2d 6d 69 6e 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77  -mingw* | *-*-pw
8d00: 33 32 2a 20 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a  32* | *-*-os2*).
8d10: 09 20 20 23 20 54 68 65 20 50 41 54 48 20 68 61  .  # The PATH ha
8d20: 63 6b 65 72 79 20 69 6e 20 77 72 61 70 70 65 72  ckery in wrapper
8d30: 20 73 63 72 69 70 74 73 20 69 73 20 72 65 71 75   scripts is requ
8d40: 69 72 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 0a  ired on Windows.
8d50: 09 20 20 23 20 69 6e 20 6f 72 64 65 72 20 66 6f  .  # in order fo
8d60: 72 20 74 68 65 20 6c 6f 61 64 65 72 20 74 6f 20  r the loader to 
8d70: 66 69 6e 64 20 61 6e 79 20 64 6c 6c 73 20 69 74  find any dlls it
8d80: 20 6e 65 65 64 73 2e 0a 09 20 20 24 65 63 68 6f   needs...  $echo
8d90: 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72   "$modename: war
8da0: 6e 69 6e 67 3a 20 5c 60 2d 6e 6f 2d 69 6e 73 74  ning: \`-no-inst
8db0: 61 6c 6c 27 20 69 73 20 69 67 6e 6f 72 65 64 20  all' is ignored 
8dc0: 66 6f 72 20 24 68 6f 73 74 22 20 31 3e 26 32 0a  for $host" 1>&2.
8dd0: 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  .  $echo "$moden
8de0: 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 61 73  ame: warning: as
8df0: 73 75 6d 69 6e 67 20 5c 60 2d 6e 6f 2d 66 61 73  suming \`-no-fas
8e00: 74 2d 69 6e 73 74 61 6c 6c 27 20 69 6e 73 74 65  t-install' inste
8e10: 61 64 22 20 31 3e 26 32 0a 09 20 20 66 61 73 74  ad" 1>&2..  fast
8e20: 5f 69 6e 73 74 61 6c 6c 3d 6e 6f 0a 09 20 20 3b  _install=no..  ;
8e30: 3b 0a 09 2a 29 20 6e 6f 5f 69 6e 73 74 61 6c 6c  ;..*) no_install
8e40: 3d 79 65 73 20 3b 3b 0a 09 65 73 61 63 0a 09 63  =yes ;;..esac..c
8e50: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
8e60: 20 20 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e 65 64     -no-undefined
8e70: 29 0a 09 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e  )..allow_undefin
8e80: 65 64 3d 6e 6f 0a 09 63 6f 6e 74 69 6e 75 65 0a  ed=no..continue.
8e90: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 6f 62 6a 65  .;;..      -obje
8ea0: 63 74 6c 69 73 74 29 0a 09 70 72 65 76 3d 6f 62  ctlist)..prev=ob
8eb0: 6a 65 63 74 6c 69 73 74 0a 09 63 6f 6e 74 69 6e  jectlist..contin
8ec0: 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 6f  ue..;;..      -o
8ed0: 29 20 70 72 65 76 3d 6f 75 74 70 75 74 20 3b 3b  ) prev=output ;;
8ee0: 0a 0a 20 20 20 20 20 20 2d 70 72 65 63 69 6f 75  ..      -preciou
8ef0: 73 2d 66 69 6c 65 73 2d 72 65 67 65 78 29 0a 09  s-files-regex)..
8f00: 70 72 65 76 3d 70 72 65 63 69 6f 75 73 5f 72 65  prev=precious_re
8f10: 67 65 78 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b  gex..continue..;
8f20: 3b 0a 0a 20 20 20 20 20 20 2d 72 65 6c 65 61 73  ;..      -releas
8f30: 65 29 0a 09 70 72 65 76 3d 72 65 6c 65 61 73 65  e)..prev=release
8f40: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
8f50: 20 20 20 20 20 20 2d 72 70 61 74 68 29 0a 09 70        -rpath)..p
8f60: 72 65 76 3d 72 70 61 74 68 0a 09 63 6f 6e 74 69  rev=rpath..conti
8f70: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
8f80: 52 29 0a 09 70 72 65 76 3d 78 72 70 61 74 68 0a  R)..prev=xrpath.
8f90: 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20  .continue..;;.. 
8fa0: 20 20 20 20 20 2d 52 2a 29 0a 09 64 69 72 3d 60       -R*)..dir=`
8fb0: 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20  $echo "X$arg" | 
8fc0: 24 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 52 2f  $Xsed -e 's/^-R/
8fd0: 2f 27 60 0a 09 23 20 57 65 20 6e 65 65 64 20 61  /'`..# We need a
8fe0: 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2e  n absolute path.
8ff0: 0a 09 63 61 73 65 20 24 64 69 72 20 69 6e 0a 09  ..case $dir in..
9000: 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a  [\\/]* | [A-Za-z
9010: 5d 3a 5b 5c 5c 2f 5d 2a 29 20 3b 3b 0a 09 2a 29  ]:[\\/]*) ;;..*)
9020: 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
9030: 6e 61 6d 65 3a 20 6f 6e 6c 79 20 61 62 73 6f 6c  name: only absol
9040: 75 74 65 20 72 75 6e 2d 70 61 74 68 73 20 61 72  ute run-paths ar
9050: 65 20 61 6c 6c 6f 77 65 64 22 20 31 3e 26 32 0a  e allowed" 1>&2.
9060: 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a  .  exit 1..  ;;.
9070: 09 65 73 61 63 0a 09 63 61 73 65 20 22 24 78 72  .esac..case "$xr
9080: 70 61 74 68 20 22 20 69 6e 0a 09 2a 22 20 24 64  path " in..*" $d
9090: 69 72 20 22 2a 29 20 3b 3b 0a 09 2a 29 20 78 72  ir "*) ;;..*) xr
90a0: 70 61 74 68 3d 22 24 78 72 70 61 74 68 20 24 64  path="$xrpath $d
90b0: 69 72 22 20 3b 3b 0a 09 65 73 61 63 0a 09 63 6f  ir" ;;..esac..co
90c0: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
90d0: 20 20 2d 73 74 61 74 69 63 29 0a 09 23 20 54 68    -static)..# Th
90e0: 65 20 65 66 66 65 63 74 73 20 6f 66 20 2d 73 74  e effects of -st
90f0: 61 74 69 63 20 61 72 65 20 64 65 66 69 6e 65 64  atic are defined
9100: 20 69 6e 20 61 20 70 72 65 76 69 6f 75 73 20 6c   in a previous l
9110: 6f 6f 70 2e 0a 09 23 20 57 65 20 75 73 65 64 20  oop...# We used 
9120: 74 6f 20 64 6f 20 74 68 65 20 73 61 6d 65 20 61  to do the same a
9130: 73 20 2d 61 6c 6c 2d 73 74 61 74 69 63 20 6f 6e  s -all-static on
9140: 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 0a   platforms that.
9150: 09 23 20 64 69 64 6e 27 74 20 68 61 76 65 20 61  .# didn't have a
9160: 20 50 49 43 20 66 6c 61 67 2c 20 62 75 74 20 74   PIC flag, but t
9170: 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 74 68  he assumption th
9180: 61 74 20 74 68 65 20 65 66 66 65 63 74 73 0a 09  at the effects..
9190: 23 20 77 6f 75 6c 64 20 62 65 20 65 71 75 69 76  # would be equiv
91a0: 61 6c 65 6e 74 20 77 61 73 20 77 72 6f 6e 67 2e  alent was wrong.
91b0: 20 20 49 74 20 77 6f 75 6c 64 20 62 72 65 61 6b    It would break
91c0: 20 6f 6e 20 61 74 20 6c 65 61 73 74 0a 09 23 20   on at least..# 
91d0: 44 69 67 69 74 61 6c 20 55 6e 69 78 20 61 6e 64  Digital Unix and
91e0: 20 41 49 58 2e 0a 09 63 6f 6e 74 69 6e 75 65 0a   AIX...continue.
91f0: 09 3b 3b 0a 0a 20 20 20 20 20 20 2d 74 68 72 65  .;;..      -thre
9200: 61 64 2d 73 61 66 65 29 0a 09 74 68 72 65 61 64  ad-safe)..thread
9210: 5f 73 61 66 65 3d 79 65 73 0a 09 63 6f 6e 74 69  _safe=yes..conti
9220: 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  nue..;;..      -
9230: 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 29 0a 09 70  version-info)..p
9240: 72 65 76 3d 76 69 6e 66 6f 0a 09 63 6f 6e 74 69  rev=vinfo..conti
9250: 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20 2d 76  nue..;;.      -v
9260: 65 72 73 69 6f 6e 2d 6e 75 6d 62 65 72 29 0a 09  ersion-number)..
9270: 70 72 65 76 3d 76 69 6e 66 6f 0a 09 76 69 6e 66  prev=vinfo..vinf
9280: 6f 5f 6e 75 6d 62 65 72 3d 79 65 73 0a 09 63 6f  o_number=yes..co
9290: 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20 20  ntinue..;;..    
92a0: 20 20 2d 57 63 2c 2a 29 0a 09 61 72 67 73 3d 60    -Wc,*)..args=`
92b0: 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20  $echo "X$arg" | 
92c0: 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
92d0: 75 6f 74 65 5f 73 75 62 73 74 22 20 2d 65 20 27  uote_subst" -e '
92e0: 73 2f 5e 2d 57 63 2c 2f 2f 27 60 0a 09 61 72 67  s/^-Wc,//'`..arg
92f0: 3d 0a 09 73 61 76 65 5f 69 66 73 3d 22 24 49 46  =..save_ifs="$IF
9300: 53 22 3b 20 49 46 53 3d 27 2c 27 0a 09 66 6f 72  S"; IFS=','..for
9310: 20 66 6c 61 67 20 69 6e 20 24 61 72 67 73 3b 20   flag in $args; 
9320: 64 6f 0a 09 20 20 49 46 53 3d 22 24 73 61 76 65  do..  IFS="$save
9330: 5f 69 66 73 22 0a 09 20 20 63 61 73 65 20 24 66  _ifs"..  case $f
9340: 6c 61 67 20 69 6e 0a 09 20 20 20 20 2a 5b 5c 5b  lag in..    *[\[
9350: 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b  \~\#\^\&\*\(\)\{
9360: 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20  \}\|\;\<\>\?\'\ 
9370: 5c 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20  \.]*|*]*|"")..  
9380: 20 20 66 6c 61 67 3d 22 5c 22 24 66 6c 61 67 5c    flag="\"$flag\
9390: 22 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73  ""..    ;;..  es
93a0: 61 63 0a 09 20 20 61 72 67 3d 22 24 61 72 67 20  ac..  arg="$arg 
93b0: 24 77 6c 24 66 6c 61 67 22 0a 09 20 20 63 6f 6d  $wl$flag"..  com
93c0: 70 69 6c 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f  piler_flags="$co
93d0: 6d 70 69 6c 65 72 5f 66 6c 61 67 73 20 24 66 6c  mpiler_flags $fl
93e0: 61 67 22 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22  ag"..done..IFS="
93f0: 24 73 61 76 65 5f 69 66 73 22 0a 09 61 72 67 3d  $save_ifs"..arg=
9400: 60 24 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c  `$echo "X$arg" |
9410: 20 24 58 73 65 64 20 2d 65 20 22 73 2f 5e 20 2f   $Xsed -e "s/^ /
9420: 2f 22 60 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2d  /"`..;;..      -
9430: 57 6c 2c 2a 29 0a 09 61 72 67 73 3d 60 24 65 63  Wl,*)..args=`$ec
9440: 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24 58 73  ho "X$arg" | $Xs
9450: 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
9460: 65 5f 73 75 62 73 74 22 20 2d 65 20 27 73 2f 5e  e_subst" -e 's/^
9470: 2d 57 6c 2c 2f 2f 27 60 0a 09 61 72 67 3d 0a 09  -Wl,//'`..arg=..
9480: 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b  save_ifs="$IFS";
9490: 20 49 46 53 3d 27 2c 27 0a 09 66 6f 72 20 66 6c   IFS=','..for fl
94a0: 61 67 20 69 6e 20 24 61 72 67 73 3b 20 64 6f 0a  ag in $args; do.
94b0: 09 20 20 49 46 53 3d 22 24 73 61 76 65 5f 69 66  .  IFS="$save_if
94c0: 73 22 0a 09 20 20 63 61 73 65 20 24 66 6c 61 67  s"..  case $flag
94d0: 20 69 6e 0a 09 20 20 20 20 2a 5b 5c 5b 5c 7e 5c   in..    *[\[\~\
94e0: 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
94f0: 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
9500: 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 20 20 66  *|*]*|"")..    f
9510: 6c 61 67 3d 22 5c 22 24 66 6c 61 67 5c 22 22 0a  lag="\"$flag\"".
9520: 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 0a  .    ;;..  esac.
9530: 09 20 20 61 72 67 3d 22 24 61 72 67 20 24 77 6c  .  arg="$arg $wl
9540: 24 66 6c 61 67 22 0a 09 20 20 63 6f 6d 70 69 6c  $flag"..  compil
9550: 65 72 5f 66 6c 61 67 73 3d 22 24 63 6f 6d 70 69  er_flags="$compi
9560: 6c 65 72 5f 66 6c 61 67 73 20 24 77 6c 24 66 6c  ler_flags $wl$fl
9570: 61 67 22 0a 09 20 20 6c 69 6e 6b 65 72 5f 66 6c  ag"..  linker_fl
9580: 61 67 73 3d 22 24 6c 69 6e 6b 65 72 5f 66 6c 61  ags="$linker_fla
9590: 67 73 20 24 66 6c 61 67 22 0a 09 64 6f 6e 65 0a  gs $flag"..done.
95a0: 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22  .IFS="$save_ifs"
95b0: 0a 09 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24  ..arg=`$echo "X$
95c0: 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d 65 20  arg" | $Xsed -e 
95d0: 22 73 2f 5e 20 2f 2f 22 60 0a 09 3b 3b 0a 0a 20  "s/^ //"`..;;.. 
95e0: 20 20 20 20 20 2d 58 63 6f 6d 70 69 6c 65 72 29       -Xcompiler)
95f0: 0a 09 70 72 65 76 3d 78 63 6f 6d 70 69 6c 65 72  ..prev=xcompiler
9600: 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a  ..continue..;;..
9610: 20 20 20 20 20 20 2d 58 6c 69 6e 6b 65 72 29 0a        -Xlinker).
9620: 09 70 72 65 76 3d 78 6c 69 6e 6b 65 72 0a 09 63  .prev=xlinker..c
9630: 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20 20  ontinue..;;..   
9640: 20 20 20 2d 58 43 43 6c 69 6e 6b 65 72 29 0a 09     -XCClinker)..
9650: 70 72 65 76 3d 78 63 63 6c 69 6e 6b 65 72 0a 09  prev=xcclinker..
9660: 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a 0a 20 20  continue..;;..  
9670: 20 20 20 20 23 20 53 6f 6d 65 20 6f 74 68 65 72      # Some other
9680: 20 63 6f 6d 70 69 6c 65 72 20 66 6c 61 67 2e 0a   compiler flag..
9690: 20 20 20 20 20 20 2d 2a 20 7c 20 2b 2a 29 0a 09        -* | +*)..
96a0: 23 20 55 6e 6b 6e 6f 77 6e 20 61 72 67 75 6d 65  # Unknown argume
96b0: 6e 74 73 20 69 6e 20 62 6f 74 68 20 66 69 6e 61  nts in both fina
96c0: 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 61 6e 64  lize_command and
96d0: 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64   compile_command
96e0: 20 6e 65 65 64 0a 09 23 20 74 6f 20 62 65 20 61   need..# to be a
96f0: 65 73 74 68 65 74 69 63 61 6c 6c 79 20 71 75 6f  esthetically quo
9700: 74 65 64 20 62 65 63 61 75 73 65 20 74 68 65 79  ted because they
9710: 20 61 72 65 20 65 76 61 6c 65 64 20 6c 61 74 65   are evaled late
9720: 72 2e 0a 09 61 72 67 3d 60 24 65 63 68 6f 20 22  r...arg=`$echo "
9730: 58 24 61 72 67 22 20 7c 20 24 58 73 65 64 20 2d  X$arg" | $Xsed -
9740: 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75  e "$sed_quote_su
9750: 62 73 74 22 60 0a 09 63 61 73 65 20 24 61 72 67  bst"`..case $arg
9760: 20 69 6e 0a 09 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c   in..*[\[\~\#\^\
9770: 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c  &\*\(\)\{\}\|\;\
9780: 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d  <\>\?\'\ \.]*|*]
9790: 2a 7c 22 22 29 0a 09 20 20 61 72 67 3d 22 5c 22  *|"")..  arg="\"
97a0: 24 61 72 67 5c 22 22 0a 09 20 20 3b 3b 0a 09 65  $arg\""..  ;;..e
97b0: 73 61 63 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a  sac..;;..      *
97c0: 2e 24 6f 62 6a 65 78 74 29 0a 09 23 20 41 20 73  .$objext)..# A s
97d0: 74 61 6e 64 61 72 64 20 6f 62 6a 65 63 74 2e 0a  tandard object..
97e0: 09 6f 62 6a 73 3d 22 24 6f 62 6a 73 20 24 61 72  .objs="$objs $ar
97f0: 67 22 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e  g"..;;..      *.
9800: 6c 6f 29 0a 09 23 20 41 20 6c 69 62 74 6f 6f 6c  lo)..# A libtool
9810: 2d 63 6f 6e 74 72 6f 6c 6c 65 64 20 6f 62 6a 65  -controlled obje
9820: 63 74 2e 0a 0a 09 23 20 43 68 65 63 6b 20 74 6f  ct....# Check to
9830: 20 73 65 65 20 74 68 61 74 20 74 68 69 73 20 72   see that this r
9840: 65 61 6c 6c 79 20 69 73 20 61 20 6c 69 62 74 6f  eally is a libto
9850: 6f 6c 20 6f 62 6a 65 63 74 2e 0a 09 69 66 20 28  ol object...if (
9860: 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20 24  ${SED} -e '2q' $
9870: 61 72 67 20 7c 20 67 72 65 70 20 22 5e 23 20 47  arg | grep "^# G
9880: 65 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50  enerated by .*$P
9890: 41 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e  ACKAGE") >/dev/n
98a0: 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09  ull 2>&1; then..
98b0: 20 20 70 69 63 5f 6f 62 6a 65 63 74 3d 0a 09 20    pic_object=.. 
98c0: 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 3d   non_pic_object=
98d0: 0a 0a 09 20 20 23 20 52 65 61 64 20 74 68 65 20  ...  # Read the 
98e0: 2e 6c 6f 20 66 69 6c 65 0a 09 20 20 23 20 49 66  .lo file..  # If
98f0: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72   there is no dir
9900: 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74  ectory component
9910: 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a  , then add one..
9920: 09 20 20 63 61 73 65 20 24 61 72 67 20 69 6e 0a  .  case $arg in.
9930: 09 20 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e  .  */* | *\\*) .
9940: 20 24 61 72 67 20 3b 3b 0a 09 20 20 2a 29 20 2e   $arg ;;..  *) .
9950: 20 2e 2f 24 61 72 67 20 3b 3b 0a 09 20 20 65 73   ./$arg ;;..  es
9960: 61 63 0a 0a 09 20 20 69 66 20 74 65 73 74 20 2d  ac...  if test -
9970: 7a 20 22 24 70 69 63 5f 6f 62 6a 65 63 74 22 20  z "$pic_object" 
9980: 7c 7c 20 5c 0a 09 20 20 20 20 20 74 65 73 74 20  || \..     test 
9990: 2d 7a 20 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a  -z "$non_pic_obj
99a0: 65 63 74 22 20 7c 7c 0a 09 20 20 20 20 20 74 65  ect" ||..     te
99b0: 73 74 20 22 24 70 69 63 5f 6f 62 6a 65 63 74 22  st "$pic_object"
99c0: 20 3d 20 6e 6f 6e 65 20 26 26 20 5c 0a 09 20 20   = none && \..  
99d0: 20 20 20 74 65 73 74 20 22 24 6e 6f 6e 5f 70 69     test "$non_pi
99e0: 63 5f 6f 62 6a 65 63 74 22 20 3d 20 6e 6f 6e 65  c_object" = none
99f0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63 68  ; then..    $ech
9a00: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61  o "$modename: ca
9a10: 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d 65 20 6f  nnot find name o
9a20: 66 20 6f 62 6a 65 63 74 20 66 6f 72 20 5c 60 24  f object for \`$
9a30: 61 72 67 27 22 20 31 3e 26 32 0a 09 20 20 20 20  arg'" 1>&2..    
9a40: 65 78 69 74 20 31 0a 09 20 20 66 69 0a 0a 09 20  exit 1..  fi... 
9a50: 20 23 20 45 78 74 72 61 63 74 20 73 75 62 64 69   # Extract subdi
9a60: 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 74 68 65  rectory from the
9a70: 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20 78 64   argument...  xd
9a80: 69 72 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67  ir=`$echo "X$arg
9a90: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
9aa0: 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 20 20 69  /[^/]*$%%'`..  i
9ab0: 66 20 74 65 73 74 20 22 58 24 78 64 69 72 22 20  f test "X$xdir" 
9ac0: 3d 20 22 58 24 61 72 67 22 3b 20 74 68 65 6e 0a  = "X$arg"; then.
9ad0: 09 20 20 20 20 78 64 69 72 3d 0a 20 09 20 20 65  .    xdir=. .  e
9ae0: 6c 73 65 0a 09 20 20 20 20 78 64 69 72 3d 22 24  lse..    xdir="$
9af0: 78 64 69 72 2f 22 0a 09 20 20 66 69 0a 0a 09 20  xdir/"..  fi... 
9b00: 20 69 66 20 74 65 73 74 20 22 24 70 69 63 5f 6f   if test "$pic_o
9b10: 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e 65 3b 20  bject" != none; 
9b20: 74 68 65 6e 0a 09 20 20 20 20 23 20 50 72 65 70  then..    # Prep
9b30: 65 6e 64 20 74 68 65 20 73 75 62 64 69 72 65 63  end the subdirec
9b40: 74 6f 72 79 20 74 68 65 20 6f 62 6a 65 63 74 20  tory the object 
9b50: 69 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09 20 20  is found in...  
9b60: 20 20 70 69 63 5f 6f 62 6a 65 63 74 3d 22 24 78    pic_object="$x
9b70: 64 69 72 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a  dir$pic_object".
9b80: 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
9b90: 70 72 65 76 22 20 3d 20 64 6c 66 69 6c 65 73 3b  prev" = dlfiles;
9ba0: 20 74 68 65 6e 0a 09 20 20 20 20 20 20 69 66 20   then..      if 
9bb0: 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62  test "$build_lib
9bc0: 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73  tool_libs" = yes
9bd0: 20 26 26 20 74 65 73 74 20 22 24 64 6c 6f 70 65   && test "$dlope
9be0: 6e 5f 73 75 70 70 6f 72 74 22 20 3d 20 79 65 73  n_support" = yes
9bf0: 3b 20 74 68 65 6e 0a 09 09 64 6c 66 69 6c 65 73  ; then...dlfiles
9c00: 3d 22 24 64 6c 66 69 6c 65 73 20 24 70 69 63 5f  ="$dlfiles $pic_
9c10: 6f 62 6a 65 63 74 22 0a 09 09 70 72 65 76 3d 0a  object"...prev=.
9c20: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20  ..continue..    
9c30: 20 20 65 6c 73 65 0a 09 09 23 20 49 66 20 6c 69    else...# If li
9c40: 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 73 20 61 72  btool objects ar
9c50: 65 20 75 6e 73 75 70 70 6f 72 74 65 64 2c 20 74  e unsupported, t
9c60: 68 65 6e 20 77 65 20 6e 65 65 64 20 74 6f 20 70  hen we need to p
9c70: 72 65 6c 6f 61 64 2e 0a 09 09 70 72 65 76 3d 64  reload....prev=d
9c80: 6c 70 72 65 66 69 6c 65 73 0a 09 20 20 20 20 20  lprefiles..     
9c90: 20 66 69 0a 09 20 20 20 20 66 69 0a 0a 09 20 20   fi..    fi...  
9ca0: 20 20 23 20 43 48 45 43 4b 20 4d 45 3a 20 20 49    # CHECK ME:  I
9cb0: 20 74 68 69 6e 6b 20 49 20 62 75 73 74 65 64 20   think I busted 
9cc0: 74 68 69 73 2e 20 20 2d 4f 73 73 61 6d 61 0a 09  this.  -Ossama..
9cd0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 70 72      if test "$pr
9ce0: 65 76 22 20 3d 20 64 6c 70 72 65 66 69 6c 65 73  ev" = dlprefiles
9cf0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20  ; then..      # 
9d00: 50 72 65 6c 6f 61 64 20 74 68 65 20 6f 6c 64 2d  Preload the old-
9d10: 73 74 79 6c 65 20 6f 62 6a 65 63 74 2e 0a 09 20  style object... 
9d20: 20 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d       dlprefiles=
9d30: 22 24 64 6c 70 72 65 66 69 6c 65 73 20 24 70 69  "$dlprefiles $pi
9d40: 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20 20 20 20  c_object"..     
9d50: 20 70 72 65 76 3d 0a 09 20 20 20 20 66 69 0a 0a   prev=..    fi..
9d60: 09 20 20 20 20 23 20 41 20 50 49 43 20 6f 62 6a  .    # A PIC obj
9d70: 65 63 74 2e 0a 09 20 20 20 20 6c 69 62 6f 62 6a  ect...    libobj
9d80: 73 3d 22 24 6c 69 62 6f 62 6a 73 20 24 70 69 63  s="$libobjs $pic
9d90: 5f 6f 62 6a 65 63 74 22 0a 09 20 20 20 20 61 72  _object"..    ar
9da0: 67 3d 22 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a  g="$pic_object".
9db0: 09 20 20 66 69 0a 0a 09 20 20 23 20 4e 6f 6e 2d  .  fi...  # Non-
9dc0: 50 49 43 20 6f 62 6a 65 63 74 2e 0a 09 20 20 69  PIC object...  i
9dd0: 66 20 74 65 73 74 20 22 24 6e 6f 6e 5f 70 69 63  f test "$non_pic
9de0: 5f 6f 62 6a 65 63 74 22 20 21 3d 20 6e 6f 6e 65  _object" != none
9df0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 50 72  ; then..    # Pr
9e00: 65 70 65 6e 64 20 74 68 65 20 73 75 62 64 69 72  epend the subdir
9e10: 65 63 74 6f 72 79 20 74 68 65 20 6f 62 6a 65 63  ectory the objec
9e20: 74 20 69 73 20 66 6f 75 6e 64 20 69 6e 2e 0a 09  t is found in...
9e30: 20 20 20 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65      non_pic_obje
9e40: 63 74 3d 22 24 78 64 69 72 24 6e 6f 6e 5f 70 69  ct="$xdir$non_pi
9e50: 63 5f 6f 62 6a 65 63 74 22 0a 0a 09 20 20 20 20  c_object"...    
9e60: 23 20 41 20 73 74 61 6e 64 61 72 64 20 6e 6f 6e  # A standard non
9e70: 2d 50 49 43 20 6f 62 6a 65 63 74 0a 09 20 20 20  -PIC object..   
9e80: 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 73   non_pic_objects
9e90: 3d 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63  ="$non_pic_objec
9ea0: 74 73 20 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65  ts $non_pic_obje
9eb0: 63 74 22 0a 09 20 20 20 20 69 66 20 74 65 73 74  ct"..    if test
9ec0: 20 2d 7a 20 22 24 70 69 63 5f 6f 62 6a 65 63 74   -z "$pic_object
9ed0: 22 20 7c 7c 20 74 65 73 74 20 22 24 70 69 63 5f  " || test "$pic_
9ee0: 6f 62 6a 65 63 74 22 20 3d 20 6e 6f 6e 65 20 3b  object" = none ;
9ef0: 20 74 68 65 6e 0a 09 20 20 20 20 20 20 61 72 67   then..      arg
9f00: 3d 22 24 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63  ="$non_pic_objec
9f10: 74 22 0a 09 20 20 20 20 66 69 0a 09 20 20 66 69  t"..    fi..  fi
9f20: 0a 09 65 6c 73 65 0a 09 20 20 23 20 4f 6e 6c 79  ..else..  # Only
9f30: 20 61 6e 20 65 72 72 6f 72 20 69 66 20 6e 6f 74   an error if not
9f40: 20 64 6f 69 6e 67 20 61 20 64 72 79 2d 72 75 6e   doing a dry-run
9f50: 2e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20  ...  if test -z 
9f60: 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a 09 20 20  "$run"; then..  
9f70: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
9f80: 6d 65 3a 20 5c 60 24 61 72 67 27 20 69 73 20 6e  me: \`$arg' is n
9f90: 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f  ot a valid libto
9fa0: 6f 6c 20 6f 62 6a 65 63 74 22 20 31 3e 26 32 0a  ol object" 1>&2.
9fb0: 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20 65  .    exit 1..  e
9fc0: 6c 73 65 0a 09 20 20 20 20 23 20 44 72 79 2d 72  lse..    # Dry-r
9fd0: 75 6e 20 63 61 73 65 2e 0a 0a 09 20 20 20 20 23  un case....    #
9fe0: 20 45 78 74 72 61 63 74 20 73 75 62 64 69 72 65   Extract subdire
9ff0: 63 74 6f 72 79 20 66 72 6f 6d 20 74 68 65 20 61  ctory from the a
a000: 72 67 75 6d 65 6e 74 2e 0a 09 20 20 20 20 78 64  rgument...    xd
a010: 69 72 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67  ir=`$echo "X$arg
a020: 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
a030: 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 20 20 20  /[^/]*$%%'`..   
a040: 20 69 66 20 74 65 73 74 20 22 58 24 78 64 69 72   if test "X$xdir
a050: 22 20 3d 20 22 58 24 61 72 67 22 3b 20 74 68 65  " = "X$arg"; the
a060: 6e 0a 09 20 20 20 20 20 20 78 64 69 72 3d 0a 09  n..      xdir=..
a070: 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
a080: 78 64 69 72 3d 22 24 78 64 69 72 2f 22 0a 09 20  xdir="$xdir/".. 
a090: 20 20 20 66 69 0a 0a 09 20 20 20 20 70 69 63 5f     fi...    pic_
a0a0: 6f 62 6a 65 63 74 3d 60 24 65 63 68 6f 20 22 58  object=`$echo "X
a0b0: 24 7b 78 64 69 72 7d 24 7b 6f 62 6a 64 69 72 7d  ${xdir}${objdir}
a0c0: 2f 24 7b 61 72 67 7d 22 20 7c 20 24 58 73 65 64  /${arg}" | $Xsed
a0d0: 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20   -e "$lo2o"`..  
a0e0: 20 20 6e 6f 6e 5f 70 69 63 5f 6f 62 6a 65 63 74    non_pic_object
a0f0: 3d 60 24 65 63 68 6f 20 22 58 24 7b 78 64 69 72  =`$echo "X${xdir
a100: 7d 24 7b 61 72 67 7d 22 20 7c 20 24 58 73 65 64  }${arg}" | $Xsed
a110: 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a 09 20 20   -e "$lo2o"`..  
a120: 20 20 6c 69 62 6f 62 6a 73 3d 22 24 6c 69 62 6f    libobjs="$libo
a130: 62 6a 73 20 24 70 69 63 5f 6f 62 6a 65 63 74 22  bjs $pic_object"
a140: 0a 09 20 20 20 20 6e 6f 6e 5f 70 69 63 5f 6f 62  ..    non_pic_ob
a150: 6a 65 63 74 73 3d 22 24 6e 6f 6e 5f 70 69 63 5f  jects="$non_pic_
a160: 6f 62 6a 65 63 74 73 20 24 6e 6f 6e 5f 70 69 63  objects $non_pic
a170: 5f 6f 62 6a 65 63 74 22 0a 09 20 20 66 69 0a 09  _object"..  fi..
a180: 66 69 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 2e  fi..;;..      *.
a190: 24 6c 69 62 65 78 74 29 0a 09 23 20 41 6e 20 61  $libext)..# An a
a1a0: 72 63 68 69 76 65 2e 0a 09 64 65 70 6c 69 62 73  rchive...deplibs
a1b0: 3d 22 24 64 65 70 6c 69 62 73 20 24 61 72 67 22  ="$deplibs $arg"
a1c0: 0a 09 6f 6c 64 5f 64 65 70 6c 69 62 73 3d 22 24  ..old_deplibs="$
a1d0: 6f 6c 64 5f 64 65 70 6c 69 62 73 20 24 61 72 67  old_deplibs $arg
a1e0: 22 0a 09 63 6f 6e 74 69 6e 75 65 0a 09 3b 3b 0a  "..continue..;;.
a1f0: 0a 20 20 20 20 20 20 2a 2e 6c 61 29 0a 09 23 20  .      *.la)..# 
a200: 41 20 6c 69 62 74 6f 6f 6c 2d 63 6f 6e 74 72 6f  A libtool-contro
a210: 6c 6c 65 64 20 6c 69 62 72 61 72 79 2e 0a 0a 09  lled library....
a220: 69 66 20 74 65 73 74 20 22 24 70 72 65 76 22 20  if test "$prev" 
a230: 3d 20 64 6c 66 69 6c 65 73 3b 20 74 68 65 6e 0a  = dlfiles; then.
a240: 09 20 20 23 20 54 68 69 73 20 6c 69 62 72 61 72  .  # This librar
a250: 79 20 77 61 73 20 73 70 65 63 69 66 69 65 64 20  y was specified 
a260: 77 69 74 68 20 2d 64 6c 6f 70 65 6e 2e 0a 09 20  with -dlopen... 
a270: 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c   dlfiles="$dlfil
a280: 65 73 20 24 61 72 67 22 0a 09 20 20 70 72 65 76  es $arg"..  prev
a290: 3d 0a 09 65 6c 69 66 20 74 65 73 74 20 22 24 70  =..elif test "$p
a2a0: 72 65 76 22 20 3d 20 64 6c 70 72 65 66 69 6c 65  rev" = dlprefile
a2b0: 73 3b 20 74 68 65 6e 0a 09 20 20 23 20 54 68 65  s; then..  # The
a2c0: 20 6c 69 62 72 61 72 79 20 77 61 73 20 73 70 65   library was spe
a2d0: 63 69 66 69 65 64 20 77 69 74 68 20 2d 64 6c 70  cified with -dlp
a2e0: 72 65 6f 70 65 6e 2e 0a 09 20 20 64 6c 70 72 65  reopen...  dlpre
a2f0: 66 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c  files="$dlprefil
a300: 65 73 20 24 61 72 67 22 0a 09 20 20 70 72 65 76  es $arg"..  prev
a310: 3d 0a 09 65 6c 73 65 0a 09 20 20 64 65 70 6c 69  =..else..  depli
a320: 62 73 3d 22 24 64 65 70 6c 69 62 73 20 24 61 72  bs="$deplibs $ar
a330: 67 22 0a 09 66 69 0a 09 63 6f 6e 74 69 6e 75 65  g"..fi..continue
a340: 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 23 20 53 6f  ..;;..      # So
a350: 6d 65 20 6f 74 68 65 72 20 63 6f 6d 70 69 6c 65  me other compile
a360: 72 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20  r argument..    
a370: 20 20 2a 29 0a 09 23 20 55 6e 6b 6e 6f 77 6e 20    *)..# Unknown 
a380: 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 62 6f 74  arguments in bot
a390: 68 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  h finalize_comma
a3a0: 6e 64 20 61 6e 64 20 63 6f 6d 70 69 6c 65 5f 63  nd and compile_c
a3b0: 6f 6d 6d 61 6e 64 20 6e 65 65 64 0a 09 23 20 74  ommand need..# t
a3c0: 6f 20 62 65 20 61 65 73 74 68 65 74 69 63 61 6c  o be aesthetical
a3d0: 6c 79 20 71 75 6f 74 65 64 20 62 65 63 61 75 73  ly quoted becaus
a3e0: 65 20 74 68 65 79 20 61 72 65 20 65 76 61 6c 65  e they are evale
a3f0: 64 20 6c 61 74 65 72 2e 0a 09 61 72 67 3d 60 24  d later...arg=`$
a400: 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
a410: 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
a420: 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 63 61 73  ote_subst"`..cas
a430: 65 20 24 61 72 67 20 69 6e 0a 09 2a 5b 5c 5b 5c  e $arg in..*[\[\
a440: 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c  ~\#\^\&\*\(\)\{\
a450: 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c  }\|\;\<\>\?\'\ \
a460: 09 5d 2a 7c 2a 5d 2a 7c 22 22 29 0a 09 20 20 61  .]*|*]*|"")..  a
a470: 72 67 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 20  rg="\"$arg\"".. 
a480: 20 3b 3b 0a 09 65 73 61 63 0a 09 3b 3b 0a 20 20   ;;..esac..;;.  
a490: 20 20 20 20 65 73 61 63 20 23 20 61 72 67 0a 0a      esac # arg..
a4a0: 20 20 20 20 20 20 23 20 4e 6f 77 20 61 63 74 75        # Now actu
a4b0: 61 6c 6c 79 20 73 75 62 73 74 69 74 75 74 65 20  ally substitute 
a4c0: 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 6e 74  the argument int
a4d0: 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a  o the commands..
a4e0: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
a4f0: 20 22 24 61 72 67 22 3b 20 74 68 65 6e 0a 09 63   "$arg"; then..c
a500: 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 22  ompile_command="
a510: 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
a520: 20 24 61 72 67 22 0a 09 66 69 6e 61 6c 69 7a 65   $arg"..finalize
a530: 5f 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c  _command="$final
a540: 69 7a 65 5f 63 6f 6d 6d 61 6e 64 20 24 61 72 67  ize_command $arg
a550: 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 64  ".      fi.    d
a560: 6f 6e 65 20 23 20 61 72 67 75 6d 65 6e 74 20 70  one # argument p
a570: 61 72 73 69 6e 67 20 6c 6f 6f 70 0a 0a 20 20 20  arsing loop..   
a580: 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72   if test -n "$pr
a590: 65 76 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  ev"; then.      
a5a0: 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
a5b0: 3a 20 74 68 65 20 5c 60 24 70 72 65 76 61 72 67  : the \`$prevarg
a5c0: 27 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65  ' option require
a5d0: 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 20 31  s an argument" 1
a5e0: 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20  >&2.      $echo 
a5f0: 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20  "$help" 1>&2.   
a600: 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69     exit 1.    fi
a610: 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
a620: 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 22 20  export_dynamic" 
a630: 3d 20 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e  = yes && test -n
a640: 20 22 24 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69   "$export_dynami
a650: 63 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68  c_flag_spec"; th
a660: 65 6e 0a 20 20 20 20 20 20 65 76 61 6c 20 61 72  en.      eval ar
a670: 67 3d 5c 22 24 65 78 70 6f 72 74 5f 64 79 6e 61  g=\"$export_dyna
a680: 6d 69 63 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a  mic_flag_spec\".
a690: 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f        compile_co
a6a0: 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
a6b0: 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20  command $arg".  
a6c0: 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d      finalize_com
a6d0: 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  mand="$finalize_
a6e0: 63 6f 6d 6d 61 6e 64 20 24 61 72 67 22 0a 20 20  command $arg".  
a6f0: 20 20 66 69 0a 0a 20 20 20 20 6f 6c 64 6c 69 62    fi..    oldlib
a700: 73 3d 0a 20 20 20 20 23 20 63 61 6c 63 75 6c 61  s=.    # calcula
a710: 74 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  te the name of t
a720: 68 65 20 66 69 6c 65 2c 20 77 69 74 68 6f 75 74  he file, without
a730: 20 69 74 73 20 64 69 72 65 63 74 6f 72 79 0a 20   its directory. 
a740: 20 20 20 6f 75 74 70 75 74 6e 61 6d 65 3d 60 24     outputname=`$
a750: 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22 20  echo "X$output" 
a760: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
a770: 2a 2f 25 25 27 60 0a 20 20 20 20 6c 69 62 6f 62  */%%'`.    libob
a780: 6a 73 5f 73 61 76 65 3d 22 24 6c 69 62 6f 62 6a  js_save="$libobj
a790: 73 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  s"..    if test 
a7a0: 2d 6e 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76  -n "$shlibpath_v
a7b0: 61 72 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  ar"; then.      
a7c0: 23 20 67 65 74 20 74 68 65 20 64 69 72 65 63 74  # get the direct
a7d0: 6f 72 69 65 73 20 6c 69 73 74 65 64 20 69 6e 20  ories listed in 
a7e0: 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a 20  $shlibpath_var. 
a7f0: 20 20 20 20 20 65 76 61 6c 20 73 68 6c 69 62 5f       eval shlib_
a800: 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 60 5c 24  search_path=\`\$
a810: 65 63 68 6f 20 5c 22 58 5c 24 7b 24 73 68 6c 69  echo \"X\${$shli
a820: 62 70 61 74 68 5f 76 61 72 7d 5c 22 20 5c 7c 20  bpath_var}\" \| 
a830: 5c 24 58 73 65 64 20 2d 65 20 5c 27 73 2f 3a 2f  \$Xsed -e \'s/:/
a840: 20 2f 67 5c 27 5c 60 0a 20 20 20 20 65 6c 73 65   /g\'\`.    else
a850: 0a 20 20 20 20 20 20 73 68 6c 69 62 5f 73 65 61  .      shlib_sea
a860: 72 63 68 5f 70 61 74 68 3d 0a 20 20 20 20 66 69  rch_path=.    fi
a870: 0a 20 20 20 20 65 76 61 6c 20 73 79 73 5f 6c 69  .    eval sys_li
a880: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 5c 22  b_search_path=\"
a890: 24 73 79 73 5f 6c 69 62 5f 73 65 61 72 63 68 5f  $sys_lib_search_
a8a0: 70 61 74 68 5f 73 70 65 63 5c 22 0a 20 20 20 20  path_spec\".    
a8b0: 65 76 61 6c 20 73 79 73 5f 6c 69 62 5f 64 6c 73  eval sys_lib_dls
a8c0: 65 61 72 63 68 5f 70 61 74 68 3d 5c 22 24 73 79  earch_path=\"$sy
a8d0: 73 5f 6c 69 62 5f 64 6c 73 65 61 72 63 68 5f 70  s_lib_dlsearch_p
a8e0: 61 74 68 5f 73 70 65 63 5c 22 0a 0a 20 20 20 20  ath_spec\"..    
a8f0: 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d 60 24  output_objdir=`$
a900: 65 63 68 6f 20 22 58 24 6f 75 74 70 75 74 22 20  echo "X$output" 
a910: 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b  | $Xsed -e 's%/[
a920: 5e 2f 5d 2a 24 25 25 27 60 0a 20 20 20 20 69 66  ^/]*$%%'`.    if
a930: 20 74 65 73 74 20 22 58 24 6f 75 74 70 75 74 5f   test "X$output_
a940: 6f 62 6a 64 69 72 22 20 3d 20 22 58 24 6f 75 74  objdir" = "X$out
a950: 70 75 74 22 3b 20 74 68 65 6e 0a 20 20 20 20 20  put"; then.     
a960: 20 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 3d 22   output_objdir="
a970: 24 6f 62 6a 64 69 72 22 0a 20 20 20 20 65 6c 73  $objdir".    els
a980: 65 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f 6f  e.      output_o
a990: 62 6a 64 69 72 3d 22 24 6f 75 74 70 75 74 5f 6f  bjdir="$output_o
a9a0: 62 6a 64 69 72 2f 24 6f 62 6a 64 69 72 22 0a 20  bjdir/$objdir". 
a9b0: 20 20 20 66 69 0a 20 20 20 20 23 20 43 72 65 61     fi.    # Crea
a9c0: 74 65 20 74 68 65 20 6f 62 6a 65 63 74 20 64 69  te the object di
a9d0: 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 69 66 20  rectory..    if 
a9e0: 74 65 73 74 20 21 20 2d 64 20 22 24 6f 75 74 70  test ! -d "$outp
a9f0: 75 74 5f 6f 62 6a 64 69 72 22 3b 20 74 68 65 6e  ut_objdir"; then
aa00: 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 6d  .      $show "$m
aa10: 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f 62 6a  kdir $output_obj
aa20: 64 69 72 22 0a 20 20 20 20 20 20 24 72 75 6e 20  dir".      $run 
aa30: 24 6d 6b 64 69 72 20 24 6f 75 74 70 75 74 5f 6f  $mkdir $output_o
aa40: 62 6a 64 69 72 0a 20 20 20 20 20 20 73 74 61 74  bjdir.      stat
aa50: 75 73 3d 24 3f 0a 20 20 20 20 20 20 69 66 20 74  us=$?.      if t
aa60: 65 73 74 20 22 24 73 74 61 74 75 73 22 20 2d 6e  est "$status" -n
aa70: 65 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64  e 0 && test ! -d
aa80: 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
aa90: 22 3b 20 74 68 65 6e 0a 09 65 78 69 74 20 24 73  "; then..exit $s
aaa0: 74 61 74 75 73 0a 20 20 20 20 20 20 66 69 0a 20  tatus.      fi. 
aab0: 20 20 20 66 69 0a 0a 20 20 20 20 23 20 44 65 74     fi..    # Det
aac0: 65 72 6d 69 6e 65 20 74 68 65 20 74 79 70 65 20  ermine the type 
aad0: 6f 66 20 6f 75 74 70 75 74 0a 20 20 20 20 63 61  of output.    ca
aae0: 73 65 20 24 6f 75 74 70 75 74 20 69 6e 0a 20 20  se $output in.  
aaf0: 20 20 22 22 29 0a 20 20 20 20 20 20 24 65 63 68    "").      $ech
ab00: 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f  o "$modename: yo
ab10: 75 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61  u must specify a
ab20: 6e 20 6f 75 74 70 75 74 20 66 69 6c 65 22 20 31  n output file" 1
ab30: 3e 26 32 0a 20 20 20 20 20 20 24 65 63 68 6f 20  >&2.      $echo 
ab40: 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20  "$help" 1>&2.   
ab50: 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 20 20     exit 1.      
ab60: 3b 3b 0a 20 20 20 20 2a 2e 24 6c 69 62 65 78 74  ;;.    *.$libext
ab70: 29 20 6c 69 6e 6b 6d 6f 64 65 3d 6f 6c 64 6c 69  ) linkmode=oldli
ab80: 62 20 3b 3b 0a 20 20 20 20 2a 2e 6c 6f 20 7c 20  b ;;.    *.lo | 
ab90: 2a 2e 24 6f 62 6a 65 78 74 29 20 6c 69 6e 6b 6d  *.$objext) linkm
aba0: 6f 64 65 3d 6f 62 6a 20 3b 3b 0a 20 20 20 20 2a  ode=obj ;;.    *
abb0: 2e 6c 61 29 20 6c 69 6e 6b 6d 6f 64 65 3d 6c 69  .la) linkmode=li
abc0: 62 20 3b 3b 0a 20 20 20 20 2a 29 20 6c 69 6e 6b  b ;;.    *) link
abd0: 6d 6f 64 65 3d 70 72 6f 67 20 3b 3b 20 23 20 41  mode=prog ;; # A
abe0: 6e 79 74 68 69 6e 67 20 65 6c 73 65 20 73 68 6f  nything else sho
abf0: 75 6c 64 20 62 65 20 61 20 70 72 6f 67 72 61 6d  uld be a program
ac00: 2e 0a 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20  ..    esac..    
ac10: 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 20 20  case $host in.  
ac20: 20 20 2a 63 79 67 77 69 6e 2a 20 7c 20 2a 6d 69    *cygwin* | *mi
ac30: 6e 67 77 2a 20 7c 20 2a 70 77 33 32 2a 29 0a 20  ngw* | *pw32*). 
ac40: 20 20 20 20 20 23 20 64 6f 6e 27 74 20 65 6c 69       # don't eli
ac50: 6d 69 6e 61 74 65 20 64 75 70 6c 63 61 74 69 6f  minate duplcatio
ac60: 6e 73 20 69 6e 20 24 70 6f 73 74 64 65 70 73 20  ns in $postdeps 
ac70: 61 6e 64 20 24 70 72 65 64 65 70 73 0a 20 20 20  and $predeps.   
ac80: 20 20 20 64 75 70 6c 69 63 61 74 65 5f 63 6f 6d     duplicate_com
ac90: 70 69 6c 65 72 5f 67 65 6e 65 72 61 74 65 64 5f  piler_generated_
aca0: 64 65 70 73 3d 79 65 73 0a 20 20 20 20 20 20 3b  deps=yes.      ;
acb0: 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20 64  ;.    *).      d
acc0: 75 70 6c 69 63 61 74 65 5f 63 6f 6d 70 69 6c 65  uplicate_compile
acd0: 72 5f 67 65 6e 65 72 61 74 65 64 5f 64 65 70 73  r_generated_deps
ace0: 3d 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73  =$duplicate_deps
acf0: 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73  .      ;;.    es
ad00: 61 63 0a 20 20 20 20 73 70 65 63 69 61 6c 64 65  ac.    specialde
ad10: 70 6c 69 62 73 3d 0a 0a 20 20 20 20 6c 69 62 73  plibs=..    libs
ad20: 3d 0a 20 20 20 20 23 20 46 69 6e 64 20 61 6c 6c  =.    # Find all
ad30: 20 69 6e 74 65 72 64 65 70 65 6e 64 65 6e 74 20   interdependent 
ad40: 64 65 70 6c 69 62 73 20 62 79 20 73 65 61 72 63  deplibs by searc
ad50: 68 69 6e 67 20 66 6f 72 20 6c 69 62 72 61 72 69  hing for librari
ad60: 65 73 0a 20 20 20 20 23 20 74 68 61 74 20 61 72  es.    # that ar
ad70: 65 20 6c 69 6e 6b 65 64 20 6d 6f 72 65 20 74 68  e linked more th
ad80: 61 6e 20 6f 6e 63 65 20 28 65 2e 67 2e 20 2d 6c  an once (e.g. -l
ad90: 61 20 2d 6c 62 20 2d 6c 61 29 0a 20 20 20 20 66  a -lb -la).    f
ada0: 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 64 65  or deplib in $de
adb0: 70 6c 69 62 73 3b 20 64 6f 0a 20 20 20 20 20 20  plibs; do.      
adc0: 69 66 20 74 65 73 74 20 22 58 24 64 75 70 6c 69  if test "X$dupli
add0: 63 61 74 65 5f 64 65 70 73 22 20 3d 20 22 58 79  cate_deps" = "Xy
ade0: 65 73 22 20 3b 20 74 68 65 6e 0a 09 63 61 73 65  es" ; then..case
adf0: 20 22 24 6c 69 62 73 20 22 20 69 6e 0a 09 2a 22   "$libs " in..*"
ae00: 20 24 64 65 70 6c 69 62 20 22 2a 29 20 73 70 65   $deplib "*) spe
ae10: 63 69 61 6c 64 65 70 6c 69 62 73 3d 22 24 73 70  cialdeplibs="$sp
ae20: 65 63 69 61 6c 64 65 70 6c 69 62 73 20 24 64 65  ecialdeplibs $de
ae30: 70 6c 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20  plib" ;;..esac. 
ae40: 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 6c 69       fi.      li
ae50: 62 73 3d 22 24 6c 69 62 73 20 24 64 65 70 6c 69  bs="$libs $depli
ae60: 62 22 0a 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20  b".    done..   
ae70: 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d   if test "$linkm
ae80: 6f 64 65 22 20 3d 20 6c 69 62 3b 20 74 68 65 6e  ode" = lib; then
ae90: 0a 20 20 20 20 20 20 6c 69 62 73 3d 22 24 70 72  .      libs="$pr
aea0: 65 64 65 70 73 20 24 6c 69 62 73 20 24 63 6f 6d  edeps $libs $com
aeb0: 70 69 6c 65 72 5f 6c 69 62 5f 73 65 61 72 63 68  piler_lib_search
aec0: 5f 70 61 74 68 20 24 70 6f 73 74 64 65 70 73 22  _path $postdeps"
aed0: 0a 0a 20 20 20 20 20 20 23 20 43 6f 6d 70 75 74  ..      # Comput
aee0: 65 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74  e libraries that
aef0: 20 61 72 65 20 6c 69 73 74 65 64 20 6d 6f 72 65   are listed more
af00: 20 74 68 61 6e 20 6f 6e 63 65 20 69 6e 20 24 70   than once in $p
af10: 72 65 64 65 70 73 0a 20 20 20 20 20 20 23 20 24  redeps.      # $
af20: 70 6f 73 74 64 65 70 73 20 61 6e 64 20 6d 61 72  postdeps and mar
af30: 6b 20 74 68 65 6d 20 61 73 20 73 70 65 63 69 61  k them as specia
af40: 6c 20 28 69 2e 65 2e 2c 20 77 68 6f 73 65 20 64  l (i.e., whose d
af50: 75 70 6c 69 63 61 74 65 73 20 61 72 65 0a 20 20  uplicates are.  
af60: 20 20 20 20 23 20 6e 6f 74 20 74 6f 20 62 65 20      # not to be 
af70: 65 6c 69 6d 69 6e 61 74 65 64 29 2e 0a 20 20 20  eliminated)..   
af80: 20 20 20 70 72 65 5f 70 6f 73 74 5f 64 65 70 73     pre_post_deps
af90: 3d 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  =.      if test 
afa0: 22 58 24 64 75 70 6c 69 63 61 74 65 5f 63 6f 6d  "X$duplicate_com
afb0: 70 69 6c 65 72 5f 67 65 6e 65 72 61 74 65 64 5f  piler_generated_
afc0: 64 65 70 73 22 20 3d 20 22 58 79 65 73 22 20 3b  deps" = "Xyes" ;
afd0: 20 74 68 65 6e 0a 09 66 6f 72 20 70 72 65 5f 70   then..for pre_p
afe0: 6f 73 74 5f 64 65 70 20 69 6e 20 24 70 72 65 64  ost_dep in $pred
aff0: 65 70 73 20 24 70 6f 73 74 64 65 70 73 3b 20 64  eps $postdeps; d
b000: 6f 0a 09 20 20 63 61 73 65 20 22 24 70 72 65 5f  o..  case "$pre_
b010: 70 6f 73 74 5f 64 65 70 73 20 22 20 69 6e 0a 09  post_deps " in..
b020: 20 20 2a 22 20 24 70 72 65 5f 70 6f 73 74 5f 64    *" $pre_post_d
b030: 65 70 20 22 2a 29 20 73 70 65 63 69 61 6c 64 65  ep "*) specialde
b040: 70 6c 69 62 73 3d 22 24 73 70 65 63 69 61 6c 64  plibs="$speciald
b050: 65 70 6c 69 62 73 20 24 70 72 65 5f 70 6f 73 74  eplibs $pre_post
b060: 5f 64 65 70 73 22 20 3b 3b 0a 09 20 20 65 73 61  _deps" ;;..  esa
b070: 63 0a 09 20 20 70 72 65 5f 70 6f 73 74 5f 64 65  c..  pre_post_de
b080: 70 73 3d 22 24 70 72 65 5f 70 6f 73 74 5f 64 65  ps="$pre_post_de
b090: 70 73 20 24 70 72 65 5f 70 6f 73 74 5f 64 65 70  ps $pre_post_dep
b0a0: 22 0a 09 64 6f 6e 65 0a 20 20 20 20 20 20 66 69  "..done.      fi
b0b0: 0a 20 20 20 20 20 20 70 72 65 5f 70 6f 73 74 5f  .      pre_post_
b0c0: 64 65 70 73 3d 0a 20 20 20 20 66 69 0a 0a 20 20  deps=.    fi..  
b0d0: 20 20 64 65 70 6c 69 62 73 3d 0a 20 20 20 20 6e    deplibs=.    n
b0e0: 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62  ewdependency_lib
b0f0: 73 3d 0a 20 20 20 20 6e 65 77 6c 69 62 5f 73 65  s=.    newlib_se
b100: 61 72 63 68 5f 70 61 74 68 3d 0a 20 20 20 20 6e  arch_path=.    n
b110: 65 65 64 5f 72 65 6c 69 6e 6b 3d 6e 6f 20 23 20  eed_relink=no # 
b120: 77 68 65 74 68 65 72 20 77 65 27 72 65 20 6c 69  whether we're li
b130: 6e 6b 69 6e 67 20 61 6e 79 20 75 6e 69 6e 73 74  nking any uninst
b140: 61 6c 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c 69  alled libtool li
b150: 62 72 61 72 69 65 73 0a 20 20 20 20 6e 6f 74 69  braries.    noti
b160: 6e 73 74 5f 64 65 70 6c 69 62 73 3d 20 23 20 6e  nst_deplibs= # n
b170: 6f 74 2d 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62  ot-installed lib
b180: 74 6f 6f 6c 20 6c 69 62 72 61 72 69 65 73 0a 20  tool libraries. 
b190: 20 20 20 6e 6f 74 69 6e 73 74 5f 70 61 74 68 3d     notinst_path=
b1a0: 20 23 20 70 61 74 68 73 20 74 68 61 74 20 63 6f   # paths that co
b1b0: 6e 74 61 69 6e 20 6e 6f 74 2d 69 6e 73 74 61 6c  ntain not-instal
b1c0: 6c 65 64 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72  led libtool libr
b1d0: 61 72 69 65 73 0a 20 20 20 20 63 61 73 65 20 24  aries.    case $
b1e0: 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a 20 20 20 20  linkmode in.    
b1f0: 6c 69 62 29 0a 09 70 61 73 73 65 73 3d 22 63 6f  lib)..passes="co
b200: 6e 76 20 6c 69 6e 6b 22 0a 09 66 6f 72 20 66 69  nv link"..for fi
b210: 6c 65 20 69 6e 20 24 64 6c 66 69 6c 65 73 20 24  le in $dlfiles $
b220: 64 6c 70 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09  dlprefiles; do..
b230: 20 20 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a    case $file in.
b240: 09 20 20 2a 2e 6c 61 29 20 3b 3b 0a 09 20 20 2a  .  *.la) ;;..  *
b250: 29 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d  )..    $echo "$m
b260: 6f 64 65 6e 61 6d 65 3a 20 6c 69 62 72 61 72 69  odename: librari
b270: 65 73 20 63 61 6e 20 5c 60 2d 64 6c 6f 70 65 6e  es can \`-dlopen
b280: 27 20 6f 6e 6c 79 20 6c 69 62 74 6f 6f 6c 20 6c  ' only libtool l
b290: 69 62 72 61 72 69 65 73 3a 20 24 66 69 6c 65 22  ibraries: $file"
b2a0: 20 31 3e 26 32 0a 09 20 20 20 20 65 78 69 74 20   1>&2..    exit 
b2b0: 31 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61  1..    ;;..  esa
b2c0: 63 0a 09 64 6f 6e 65 0a 09 3b 3b 0a 20 20 20 20  c..done..;;.    
b2d0: 70 72 6f 67 29 0a 09 63 6f 6d 70 69 6c 65 5f 64  prog)..compile_d
b2e0: 65 70 6c 69 62 73 3d 0a 09 66 69 6e 61 6c 69 7a  eplibs=..finaliz
b2f0: 65 5f 64 65 70 6c 69 62 73 3d 0a 09 61 6c 6c 64  e_deplibs=..alld
b300: 65 70 6c 69 62 73 3d 6e 6f 0a 09 6e 65 77 64 6c  eplibs=no..newdl
b310: 66 69 6c 65 73 3d 0a 09 6e 65 77 64 6c 70 72 65  files=..newdlpre
b320: 66 69 6c 65 73 3d 0a 09 70 61 73 73 65 73 3d 22  files=..passes="
b330: 63 6f 6e 76 20 73 63 61 6e 20 64 6c 6f 70 65 6e  conv scan dlopen
b340: 20 64 6c 70 72 65 6f 70 65 6e 20 6c 69 6e 6b 22   dlpreopen link"
b350: 0a 09 3b 3b 0a 20 20 20 20 2a 29 20 20 70 61 73  ..;;.    *)  pas
b360: 73 65 73 3d 22 63 6f 6e 76 22 0a 09 3b 3b 0a 20  ses="conv"..;;. 
b370: 20 20 20 65 73 61 63 0a 20 20 20 20 66 6f 72 20     esac.    for 
b380: 70 61 73 73 20 69 6e 20 24 70 61 73 73 65 73 3b  pass in $passes;
b390: 20 64 6f 0a 20 20 20 20 20 20 69 66 20 74 65 73   do.      if tes
b3a0: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61  t "$linkmode,$pa
b3b0: 73 73 22 20 3d 20 22 6c 69 62 2c 6c 69 6e 6b 22  ss" = "lib,link"
b3c0: 20 7c 7c 0a 09 20 74 65 73 74 20 22 24 6c 69 6e   ||.. test "$lin
b3d0: 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22  kmode,$pass" = "
b3e0: 70 72 6f 67 2c 73 63 61 6e 22 3b 20 74 68 65 6e  prog,scan"; then
b3f0: 0a 09 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73  ..libs="$deplibs
b400: 22 0a 09 64 65 70 6c 69 62 73 3d 0a 20 20 20 20  "..deplibs=.    
b410: 20 20 66 69 0a 20 20 20 20 20 20 69 66 20 74 65    fi.      if te
b420: 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d  st "$linkmode" =
b430: 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 63 61 73   prog; then..cas
b440: 65 20 24 70 61 73 73 20 69 6e 0a 09 64 6c 6f 70  e $pass in..dlop
b450: 65 6e 29 20 6c 69 62 73 3d 22 24 64 6c 66 69 6c  en) libs="$dlfil
b460: 65 73 22 20 3b 3b 0a 09 64 6c 70 72 65 6f 70 65  es" ;;..dlpreope
b470: 6e 29 20 6c 69 62 73 3d 22 24 64 6c 70 72 65 66  n) libs="$dlpref
b480: 69 6c 65 73 22 20 3b 3b 0a 09 6c 69 6e 6b 29 20  iles" ;;..link) 
b490: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 25  libs="$deplibs %
b4a0: 44 45 50 4c 49 42 53 25 20 24 64 65 70 65 6e 64  DEPLIBS% $depend
b4b0: 65 6e 63 79 5f 6c 69 62 73 22 20 3b 3b 0a 09 65  ency_libs" ;;..e
b4c0: 73 61 63 0a 20 20 20 20 20 20 66 69 0a 20 20 20  sac.      fi.   
b4d0: 20 20 20 69 66 20 74 65 73 74 20 22 24 70 61 73     if test "$pas
b4e0: 73 22 20 3d 20 64 6c 6f 70 65 6e 3b 20 74 68 65  s" = dlopen; the
b4f0: 6e 0a 09 23 20 43 6f 6c 6c 65 63 74 20 64 6c 70  n..# Collect dlp
b500: 72 65 6f 70 65 6e 65 64 20 6c 69 62 72 61 72 69  reopened librari
b510: 65 73 0a 09 73 61 76 65 5f 64 65 70 6c 69 62 73  es..save_deplibs
b520: 3d 22 24 64 65 70 6c 69 62 73 22 0a 09 64 65 70  ="$deplibs"..dep
b530: 6c 69 62 73 3d 0a 20 20 20 20 20 20 66 69 0a 20  libs=.      fi. 
b540: 20 20 20 20 20 66 6f 72 20 64 65 70 6c 69 62 20       for deplib 
b550: 69 6e 20 24 6c 69 62 73 3b 20 64 6f 0a 09 6c 69  in $libs; do..li
b560: 62 3d 0a 09 66 6f 75 6e 64 3d 6e 6f 0a 09 63 61  b=..found=no..ca
b570: 73 65 20 24 64 65 70 6c 69 62 20 69 6e 0a 09 2d  se $deplib in..-
b580: 6d 74 7c 2d 6d 74 68 72 65 61 64 73 7c 2d 6b 74  mt|-mthreads|-kt
b590: 68 72 65 61 64 7c 2d 4b 74 68 72 65 61 64 7c 2d  hread|-Kthread|-
b5a0: 70 74 68 72 65 61 64 7c 2d 70 74 68 72 65 61 64  pthread|-pthread
b5b0: 73 7c 2d 2d 74 68 72 65 61 64 2d 73 61 66 65 29  s|--thread-safe)
b5c0: 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 6c 69  ..  if test "$li
b5d0: 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20  nkmode,$pass" = 
b5e0: 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68 65  "prog,link"; the
b5f0: 6e 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64  n..    compile_d
b600: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20  eplibs="$deplib 
b610: 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73  $compile_deplibs
b620: 22 0a 09 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f  "..    finalize_
b630: 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  deplibs="$deplib
b640: 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69   $finalize_depli
b650: 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  bs"..  else..   
b660: 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69   deplibs="$depli
b670: 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 66  b $deplibs"..  f
b680: 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09 20  i..  continue.. 
b690: 20 3b 3b 0a 09 2d 6c 2a 29 0a 09 20 20 69 66 20   ;;..-l*)..  if 
b6a0: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
b6b0: 20 21 3d 20 6c 69 62 20 26 26 20 74 65 73 74 20   != lib && test 
b6c0: 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d 20 70  "$linkmode" != p
b6d0: 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 24  rog; then..    $
b6e0: 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
b6f0: 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 6c 27 20   warning: \`-l' 
b700: 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61  is ignored for a
b710: 72 63 68 69 76 65 73 2f 6f 62 6a 65 63 74 73 22  rchives/objects"
b720: 20 31 3e 26 32 0a 09 20 20 20 20 63 6f 6e 74 69   1>&2..    conti
b730: 6e 75 65 0a 09 20 20 66 69 0a 09 20 20 69 66 20  nue..  fi..  if 
b740: 74 65 73 74 20 22 24 70 61 73 73 22 20 3d 20 63  test "$pass" = c
b750: 6f 6e 76 3b 20 74 68 65 6e 0a 09 20 20 20 20 64  onv; then..    d
b760: 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20  eplibs="$deplib 
b770: 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 63  $deplibs"..    c
b780: 6f 6e 74 69 6e 75 65 0a 09 20 20 66 69 0a 09 20  ontinue..  fi.. 
b790: 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24   name=`$echo "X$
b7a0: 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65 64 20  deplib" | $Xsed 
b7b0: 2d 65 20 27 73 2f 5e 2d 6c 2f 2f 27 60 0a 09 20  -e 's/^-l//'`.. 
b7c0: 20 66 6f 72 20 73 65 61 72 63 68 64 69 72 20 69   for searchdir i
b7d0: 6e 20 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68  n $newlib_search
b7e0: 5f 70 61 74 68 20 24 6c 69 62 5f 73 65 61 72 63  _path $lib_searc
b7f0: 68 5f 70 61 74 68 20 24 73 79 73 5f 6c 69 62 5f  h_path $sys_lib_
b800: 73 65 61 72 63 68 5f 70 61 74 68 20 24 73 68 6c  search_path $shl
b810: 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3b 20  ib_search_path; 
b820: 64 6f 0a 09 20 20 20 20 66 6f 72 20 73 65 61 72  do..    for sear
b830: 63 68 5f 65 78 74 20 69 6e 20 2e 6c 61 20 24 73  ch_ext in .la $s
b840: 68 72 65 78 74 20 2e 73 6f 20 2e 61 3b 20 64 6f  hrext .so .a; do
b850: 0a 09 20 20 20 20 20 20 23 20 53 65 61 72 63 68  ..      # Search
b860: 20 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c 69 62   the libtool lib
b870: 72 61 72 79 0a 09 20 20 20 20 20 20 6c 69 62 3d  rary..      lib=
b880: 22 24 73 65 61 72 63 68 64 69 72 2f 6c 69 62 24  "$searchdir/lib$
b890: 7b 6e 61 6d 65 7d 24 7b 73 65 61 72 63 68 5f 65  {name}${search_e
b8a0: 78 74 7d 22 0a 09 20 20 20 20 20 20 69 66 20 74  xt}"..      if t
b8b0: 65 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20 74  est -f "$lib"; t
b8c0: 68 65 6e 0a 09 09 69 66 20 74 65 73 74 20 22 24  hen...if test "$
b8d0: 73 65 61 72 63 68 5f 65 78 74 22 20 3d 20 22 2e  search_ext" = ".
b8e0: 6c 61 22 3b 20 74 68 65 6e 0a 09 09 20 20 66 6f  la"; then...  fo
b8f0: 75 6e 64 3d 79 65 73 0a 09 09 65 6c 73 65 0a 09  und=yes...else..
b900: 09 20 20 66 6f 75 6e 64 3d 6e 6f 0a 09 09 66 69  .  found=no...fi
b910: 0a 09 09 62 72 65 61 6b 20 32 0a 09 20 20 20 20  ...break 2..    
b920: 20 20 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09    fi..    done..
b930: 20 20 64 6f 6e 65 0a 09 20 20 69 66 20 74 65 73    done..  if tes
b940: 74 20 22 24 66 6f 75 6e 64 22 20 21 3d 20 79 65  t "$found" != ye
b950: 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 64  s; then..    # d
b960: 65 70 6c 69 62 20 64 6f 65 73 6e 27 74 20 73 65  eplib doesn't se
b970: 65 6d 20 74 6f 20 62 65 20 61 20 6c 69 62 74 6f  em to be a libto
b980: 6f 6c 20 6c 69 62 72 61 72 79 0a 09 20 20 20 20  ol library..    
b990: 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f  if test "$linkmo
b9a0: 64 65 2c 24 70 61 73 73 22 20 3d 20 22 70 72 6f  de,$pass" = "pro
b9b0: 67 2c 6c 69 6e 6b 22 3b 20 74 68 65 6e 0a 09 20  g,link"; then.. 
b9c0: 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64 65 70       compile_dep
b9d0: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 63  libs="$deplib $c
b9e0: 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a  ompile_deplibs".
b9f0: 09 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f  .      finalize_
ba00: 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62  deplibs="$deplib
ba10: 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69   $finalize_depli
ba20: 62 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20  bs"..    else.. 
ba30: 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64       deplibs="$d
ba40: 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a  eplib $deplibs".
ba50: 09 20 20 20 20 20 20 74 65 73 74 20 22 24 6c 69  .      test "$li
ba60: 6e 6b 6d 6f 64 65 22 20 3d 20 6c 69 62 20 26 26  nkmode" = lib &&
ba70: 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c   newdependency_l
ba80: 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65  ibs="$deplib $ne
ba90: 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
baa0: 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 63  "..    fi..    c
bab0: 6f 6e 74 69 6e 75 65 0a 09 20 20 65 6c 73 65 20  ontinue..  else 
bac0: 23 20 64 65 70 6c 69 62 20 69 73 20 61 20 6c 69  # deplib is a li
bad0: 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 0a 09 20  btool library.. 
bae0: 20 20 20 23 20 49 66 20 24 61 6c 6c 6f 77 5f 6c     # If $allow_l
baf0: 69 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68  ibtool_libs_with
bb00: 5f 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73  _static_runtimes
bb10: 20 26 26 20 24 64 65 70 6c 69 62 20 69 73 20 61   && $deplib is a
bb20: 20 73 74 64 6c 69 62 2c 0a 09 20 20 20 20 23 20   stdlib,..    # 
bb30: 57 65 20 6e 65 65 64 20 74 6f 20 64 6f 20 73 6f  We need to do so
bb40: 6d 65 20 73 70 65 63 69 61 6c 20 74 68 69 6e 67  me special thing
bb50: 73 20 68 65 72 65 2c 20 61 6e 64 20 6e 6f 74 20  s here, and not 
bb60: 6c 61 74 65 72 2e 0a 09 20 20 20 20 69 66 20 74  later...    if t
bb70: 65 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c 69 62  est "X$allow_lib
bb80: 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68 5f 73  tool_libs_with_s
bb90: 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73 22 20  tatic_runtimes" 
bba0: 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a  = "Xyes" ; then.
bbb0: 09 20 20 20 20 20 20 63 61 73 65 20 22 20 24 70  .      case " $p
bbc0: 72 65 64 65 70 73 20 24 70 6f 73 74 64 65 70 73  redeps $postdeps
bbd0: 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20   " in..      *" 
bbe0: 24 64 65 70 6c 69 62 20 22 2a 29 0a 09 09 69 66  $deplib "*)...if
bbf0: 20 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27   (${SED} -e '2q'
bc00: 20 24 6c 69 62 20 7c 0a 20 20 20 20 20 20 20 20   $lib |.        
bc10: 20 20 20 20 20 20 20 20 20 20 20 20 67 72 65 70              grep
bc20: 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62   "^# Generated b
bc30: 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20 3e  y .*$PACKAGE") >
bc40: 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20  /dev/null 2>&1; 
bc50: 74 68 65 6e 0a 09 09 20 20 6c 69 62 72 61 72 79  then...  library
bc60: 5f 6e 61 6d 65 73 3d 0a 09 09 20 20 6f 6c 64 5f  _names=...  old_
bc70: 6c 69 62 72 61 72 79 3d 0a 09 09 20 20 63 61 73  library=...  cas
bc80: 65 20 24 6c 69 62 20 69 6e 0a 09 09 20 20 2a 2f  e $lib in...  */
bc90: 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62  * | *\\*) . $lib
bca0: 20 3b 3b 0a 09 09 20 20 2a 29 20 2e 20 2e 2f 24   ;;...  *) . ./$
bcb0: 6c 69 62 20 3b 3b 0a 09 09 20 20 65 73 61 63 0a  lib ;;...  esac.
bcc0: 09 09 20 20 66 6f 72 20 6c 20 69 6e 20 24 6f 6c  ..  for l in $ol
bcd0: 64 5f 6c 69 62 72 61 72 79 20 24 6c 69 62 72 61  d_library $libra
bce0: 72 79 5f 6e 61 6d 65 73 3b 20 64 6f 0a 09 09 20  ry_names; do... 
bcf0: 20 20 20 6c 6c 3d 22 24 6c 22 0a 09 09 20 20 64     ll="$l"...  d
bd00: 6f 6e 65 0a 09 09 20 20 69 66 20 74 65 73 74 20  one...  if test 
bd10: 22 58 24 6c 6c 22 20 3d 20 22 58 24 6f 6c 64 5f  "X$ll" = "X$old_
bd20: 6c 69 62 72 61 72 79 22 20 3b 20 74 68 65 6e 20  library" ; then 
bd30: 23 20 6f 6e 6c 79 20 73 74 61 74 69 63 20 76 65  # only static ve
bd40: 72 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a  rsion available.
bd50: 09 09 20 20 20 20 66 6f 75 6e 64 3d 6e 6f 0a 09  ..    found=no..
bd60: 09 20 20 20 20 6c 61 64 69 72 3d 60 24 65 63 68  .    ladir=`$ech
bd70: 6f 20 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65  o "X$lib" | $Xse
bd80: 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25  d -e 's%/[^/]*$%
bd90: 25 27 60 0a 09 09 20 20 20 20 74 65 73 74 20 22  %'`...    test "
bda0: 58 24 6c 61 64 69 72 22 20 3d 20 22 58 24 6c 69  X$ladir" = "X$li
bdb0: 62 22 20 26 26 20 6c 61 64 69 72 3d 22 2e 22 0a  b" && ladir=".".
bdc0: 09 09 20 20 20 20 6c 69 62 3d 24 6c 61 64 69 72  ..    lib=$ladir
bdd0: 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 0a 09 09  /$old_library...
bde0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6c 69      if test "$li
bdf0: 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20 3d 20  nkmode,$pass" = 
be00: 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74 68 65  "prog,link"; the
be10: 6e 0a 09 09 20 20 20 20 20 20 63 6f 6d 70 69 6c  n...      compil
be20: 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c  e_deplibs="$depl
be30: 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c  ib $compile_depl
be40: 69 62 73 22 0a 09 09 20 20 20 20 20 20 66 69 6e  ibs"...      fin
be50: 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24  alize_deplibs="$
be60: 64 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65  deplib $finalize
be70: 5f 64 65 70 6c 69 62 73 22 0a 09 09 20 20 20 20  _deplibs"...    
be80: 65 6c 73 65 0a 09 09 20 20 20 20 20 20 64 65 70  else...      dep
be90: 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64  libs="$deplib $d
bea0: 65 70 6c 69 62 73 22 0a 09 09 20 20 20 20 20 20  eplibs"...      
beb0: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
bec0: 20 3d 20 6c 69 62 20 26 26 20 6e 65 77 64 65 70   = lib && newdep
bed0: 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64  endency_libs="$d
bee0: 65 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64  eplib $newdepend
bef0: 65 6e 63 79 5f 6c 69 62 73 22 0a 09 09 20 20 20  ency_libs"...   
bf00: 20 66 69 0a 09 09 20 20 20 20 63 6f 6e 74 69 6e   fi...    contin
bf10: 75 65 0a 09 09 20 20 66 69 0a 09 09 66 69 0a 09  ue...  fi...fi..
bf20: 20 20 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20          ;;..    
bf30: 20 20 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 65    *) ;;..      e
bf40: 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 66  sac..    fi..  f
bf50: 69 0a 09 20 20 3b 3b 20 23 20 2d 6c 0a 09 2d 4c  i..  ;; # -l..-L
bf60: 2a 29 0a 09 20 20 63 61 73 65 20 24 6c 69 6e 6b  *)..  case $link
bf70: 6d 6f 64 65 20 69 6e 0a 09 20 20 6c 69 62 29 0a  mode in..  lib).
bf80: 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64  .    deplibs="$d
bf90: 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a  eplib $deplibs".
bfa0: 09 20 20 20 20 74 65 73 74 20 22 24 70 61 73 73  .    test "$pass
bfb0: 22 20 3d 20 63 6f 6e 76 20 26 26 20 63 6f 6e 74  " = conv && cont
bfc0: 69 6e 75 65 0a 09 20 20 20 20 6e 65 77 64 65 70  inue..    newdep
bfd0: 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 64  endency_libs="$d
bfe0: 65 70 6c 69 62 20 24 6e 65 77 64 65 70 65 6e 64  eplib $newdepend
bff0: 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20 20 20  ency_libs"..    
c000: 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
c010: 74 68 3d 22 24 6e 65 77 6c 69 62 5f 73 65 61 72  th="$newlib_sear
c020: 63 68 5f 70 61 74 68 20 22 60 24 65 63 68 6f 20  ch_path "`$echo 
c030: 22 58 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73  "X$deplib" | $Xs
c040: 65 64 20 2d 65 20 27 73 2f 5e 2d 4c 2f 2f 27 60  ed -e 's/^-L//'`
c050: 0a 09 20 20 20 20 3b 3b 0a 09 20 20 70 72 6f 67  ..    ;;..  prog
c060: 29 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  )..    if test "
c070: 24 70 61 73 73 22 20 3d 20 63 6f 6e 76 3b 20 74  $pass" = conv; t
c080: 68 65 6e 0a 09 20 20 20 20 20 20 64 65 70 6c 69  hen..      depli
c090: 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70  bs="$deplib $dep
c0a0: 6c 69 62 73 22 0a 09 20 20 20 20 20 20 63 6f 6e  libs"..      con
c0b0: 74 69 6e 75 65 0a 09 20 20 20 20 66 69 0a 09 20  tinue..    fi.. 
c0c0: 20 20 20 69 66 20 74 65 73 74 20 22 24 70 61 73     if test "$pas
c0d0: 73 22 20 3d 20 73 63 61 6e 3b 20 74 68 65 6e 0a  s" = scan; then.
c0e0: 09 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22  .      deplibs="
c0f0: 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69 62 73  $deplib $deplibs
c100: 22 0a 09 20 20 20 20 20 20 6e 65 77 6c 69 62 5f  "..      newlib_
c110: 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6e 65  search_path="$ne
c120: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
c130: 20 22 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c   "`$echo "X$depl
c140: 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ib" | $Xsed -e '
c150: 73 2f 5e 2d 4c 2f 2f 27 60 0a 09 20 20 20 20 65  s/^-L//'`..    e
c160: 6c 73 65 0a 09 20 20 20 20 20 20 63 6f 6d 70 69  lse..      compi
c170: 6c 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70  le_deplibs="$dep
c180: 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70  lib $compile_dep
c190: 6c 69 62 73 22 0a 09 20 20 20 20 20 20 66 69 6e  libs"..      fin
c1a0: 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24  alize_deplibs="$
c1b0: 64 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65  deplib $finalize
c1c0: 5f 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66  _deplibs"..    f
c1d0: 69 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 29 0a  i..    ;;..  *).
c1e0: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
c1f0: 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
c200: 5c 60 2d 4c 27 20 69 73 20 69 67 6e 6f 72 65 64  \`-L' is ignored
c210: 20 66 6f 72 20 61 72 63 68 69 76 65 73 2f 6f 62   for archives/ob
c220: 6a 65 63 74 73 22 20 31 3e 26 32 0a 09 20 20 20  jects" 1>&2..   
c230: 20 3b 3b 0a 09 20 20 65 73 61 63 20 23 20 6c 69   ;;..  esac # li
c240: 6e 6b 6d 6f 64 65 0a 09 20 20 63 6f 6e 74 69 6e  nkmode..  contin
c250: 75 65 0a 09 20 20 3b 3b 20 23 20 2d 4c 0a 09 2d  ue..  ;; # -L..-
c260: 52 2a 29 0a 09 20 20 69 66 20 74 65 73 74 20 22  R*)..  if test "
c270: 24 70 61 73 73 22 20 3d 20 6c 69 6e 6b 3b 20 74  $pass" = link; t
c280: 68 65 6e 0a 09 20 20 20 20 64 69 72 3d 60 24 65  hen..    dir=`$e
c290: 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c  cho "X$deplib" |
c2a0: 20 24 58 73 65 64 20 2d 65 20 27 73 2f 5e 2d 52   $Xsed -e 's/^-R
c2b0: 2f 2f 27 60 0a 09 20 20 20 20 23 20 4d 61 6b 65  //'`..    # Make
c2c0: 20 73 75 72 65 20 74 68 65 20 78 72 70 61 74 68   sure the xrpath
c2d0: 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75   contains only u
c2e0: 6e 69 71 75 65 20 64 69 72 65 63 74 6f 72 69 65  nique directorie
c2f0: 73 2e 0a 09 20 20 20 20 63 61 73 65 20 22 24 78  s...    case "$x
c300: 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 20 20  rpath " in..    
c310: 2a 22 20 24 64 69 72 20 22 2a 29 20 3b 3b 0a 09  *" $dir "*) ;;..
c320: 20 20 20 20 2a 29 20 78 72 70 61 74 68 3d 22 24      *) xrpath="$
c330: 78 72 70 61 74 68 20 24 64 69 72 22 20 3b 3b 0a  xrpath $dir" ;;.
c340: 09 20 20 20 20 65 73 61 63 0a 09 20 20 66 69 0a  .    esac..  fi.
c350: 09 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70  .  deplibs="$dep
c360: 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20  lib $deplibs".. 
c370: 20 63 6f 6e 74 69 6e 75 65 0a 09 20 20 3b 3b 0a   continue..  ;;.
c380: 09 2a 2e 6c 61 29 20 6c 69 62 3d 22 24 64 65 70  .*.la) lib="$dep
c390: 6c 69 62 22 20 3b 3b 0a 09 2a 2e 24 6c 69 62 65  lib" ;;..*.$libe
c3a0: 78 74 29 0a 09 20 20 69 66 20 74 65 73 74 20 22  xt)..  if test "
c3b0: 24 70 61 73 73 22 20 3d 20 63 6f 6e 76 3b 20 74  $pass" = conv; t
c3c0: 68 65 6e 0a 09 20 20 20 20 64 65 70 6c 69 62 73  hen..    deplibs
c3d0: 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c 69  ="$deplib $depli
c3e0: 62 73 22 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75  bs"..    continu
c3f0: 65 0a 09 20 20 66 69 0a 09 20 20 63 61 73 65 20  e..  fi..  case 
c400: 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a 09 20 20  $linkmode in..  
c410: 6c 69 62 29 0a 09 20 20 20 20 69 66 20 74 65 73  lib)..    if tes
c420: 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63  t "$deplibs_chec
c430: 6b 5f 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73  k_method" != pas
c440: 73 5f 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20  s_all; then..   
c450: 20 20 20 24 65 63 68 6f 0a 09 20 20 20 20 20 20     $echo..      
c460: 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69  $echo "*** Warni
c470: 6e 67 3a 20 54 72 79 69 6e 67 20 74 6f 20 6c 69  ng: Trying to li
c480: 6e 6b 20 77 69 74 68 20 73 74 61 74 69 63 20 6c  nk with static l
c490: 69 62 20 61 72 63 68 69 76 65 20 24 64 65 70 6c  ib archive $depl
c4a0: 69 62 2e 22 0a 09 20 20 20 20 20 20 24 65 63 68  ib."..      $ech
c4b0: 6f 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68  o "*** I have th
c4c0: 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20  e capability to 
c4d0: 6d 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72  make that librar
c4e0: 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  y automatically 
c4f0: 6c 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 20  link in when".. 
c500: 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20       $echo "*** 
c510: 79 6f 75 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73  you link to this
c520: 20 6c 69 62 72 61 72 79 2e 20 20 42 75 74 20 49   library.  But I
c530: 20 63 61 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69   can only do thi
c540: 73 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 22  s if you have a"
c550: 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a  ..      $echo "*
c560: 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73 69 6f  ** shared versio
c570: 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79  n of the library
c580: 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e  , which you do n
c590: 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68 61 76  ot appear to hav
c5a0: 65 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20  e"..      $echo 
c5b0: 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 74 68 65  "*** because the
c5c0: 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73   file extensions
c5d0: 20 2e 24 6c 69 62 65 78 74 20 6f 66 20 74 68 69   .$libext of thi
c5e0: 73 20 61 72 67 75 6d 65 6e 74 20 6d 61 6b 65 73  s argument makes
c5f0: 20 6d 65 20 62 65 6c 69 65 76 65 22 0a 09 20 20   me believe"..  
c600: 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 74      $echo "*** t
c610: 68 61 74 20 69 74 20 69 73 20 6a 75 73 74 20 61  hat it is just a
c620: 20 73 74 61 74 69 63 20 61 72 63 68 69 76 65 20   static archive 
c630: 74 68 61 74 20 49 20 73 68 6f 75 6c 64 20 6e 6f  that I should no
c640: 74 20 75 73 65 64 20 68 65 72 65 2e 22 0a 09 20  t used here.".. 
c650: 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24     else..      $
c660: 65 63 68 6f 0a 09 20 20 20 20 20 20 24 65 63 68  echo..      $ech
c670: 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
c680: 4c 69 6e 6b 69 6e 67 20 74 68 65 20 73 68 61 72  Linking the shar
c690: 65 64 20 6c 69 62 72 61 72 79 20 24 6f 75 74 70  ed library $outp
c6a0: 75 74 20 61 67 61 69 6e 73 74 20 74 68 65 22 0a  ut against the".
c6b0: 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a  .      $echo "**
c6c0: 2a 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79  * static library
c6d0: 20 24 64 65 70 6c 69 62 20 69 73 20 6e 6f 74 20   $deplib is not 
c6e0: 70 6f 72 74 61 62 6c 65 21 22 0a 09 20 20 20 20  portable!"..    
c6f0: 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c    deplibs="$depl
c700: 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20  ib $deplibs"..  
c710: 20 20 66 69 0a 09 20 20 20 20 63 6f 6e 74 69 6e    fi..    contin
c720: 75 65 0a 09 20 20 20 20 3b 3b 0a 09 20 20 70 72  ue..    ;;..  pr
c730: 6f 67 29 0a 09 20 20 20 20 69 66 20 74 65 73 74  og)..    if test
c740: 20 22 24 70 61 73 73 22 20 21 3d 20 6c 69 6e 6b   "$pass" != link
c750: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 64 65  ; then..      de
c760: 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24  plibs="$deplib $
c770: 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 65 6c  deplibs"..    el
c780: 73 65 0a 09 20 20 20 20 20 20 63 6f 6d 70 69 6c  se..      compil
c790: 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c  e_deplibs="$depl
c7a0: 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c  ib $compile_depl
c7b0: 69 62 73 22 0a 09 20 20 20 20 20 20 66 69 6e 61  ibs"..      fina
c7c0: 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 64  lize_deplibs="$d
c7d0: 65 70 6c 69 62 20 24 66 69 6e 61 6c 69 7a 65 5f  eplib $finalize_
c7e0: 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66 69  deplibs"..    fi
c7f0: 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 09  ..    continue..
c800: 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63 20 23      ;;..  esac #
c810: 20 6c 69 6e 6b 6d 6f 64 65 0a 09 20 20 3b 3b 20   linkmode..  ;; 
c820: 23 20 2a 2e 24 6c 69 62 65 78 74 0a 09 2a 2e 6c  # *.$libext..*.l
c830: 6f 20 7c 20 2a 2e 24 6f 62 6a 65 78 74 29 0a 09  o | *.$objext)..
c840: 20 20 69 66 20 74 65 73 74 20 22 24 70 61 73 73    if test "$pass
c850: 22 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e 0a 09  " = conv; then..
c860: 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65      deplibs="$de
c870: 70 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09  plib $deplibs"..
c880: 20 20 65 6c 69 66 20 74 65 73 74 20 22 24 6c 69    elif test "$li
c890: 6e 6b 6d 6f 64 65 22 20 3d 20 70 72 6f 67 3b 20  nkmode" = prog; 
c8a0: 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73  then..    if tes
c8b0: 74 20 22 24 70 61 73 73 22 20 3d 20 64 6c 70 72  t "$pass" = dlpr
c8c0: 65 6f 70 65 6e 20 7c 7c 20 74 65 73 74 20 22 24  eopen || test "$
c8d0: 64 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74 22 20  dlopen_support" 
c8e0: 21 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20 22  != yes || test "
c8f0: 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c  $build_libtool_l
c900: 69 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a  ibs" = no; then.
c910: 09 20 20 20 20 20 20 23 20 49 66 20 74 68 65 72  .      # If ther
c920: 65 20 69 73 20 6e 6f 20 64 6c 6f 70 65 6e 20 73  e is no dlopen s
c930: 75 70 70 6f 72 74 20 6f 72 20 77 65 27 72 65 20  upport or we're 
c940: 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c  linking statical
c950: 6c 79 2c 0a 09 20 20 20 20 20 20 23 20 77 65 20  ly,..      # we 
c960: 6e 65 65 64 20 74 6f 20 70 72 65 6c 6f 61 64 2e  need to preload.
c970: 0a 09 20 20 20 20 20 20 6e 65 77 64 6c 70 72 65  ..      newdlpre
c980: 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65  files="$newdlpre
c990: 66 69 6c 65 73 20 24 64 65 70 6c 69 62 22 0a 09  files $deplib"..
c9a0: 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64 65        compile_de
c9b0: 70 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24  plibs="$deplib $
c9c0: 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22  compile_deplibs"
c9d0: 0a 09 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65  ..      finalize
c9e0: 5f 64 65 70 6c 69 62 73 3d 22 24 64 65 70 6c 69  _deplibs="$depli
c9f0: 62 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  b $finalize_depl
ca00: 69 62 73 22 0a 09 20 20 20 20 65 6c 73 65 0a 09  ibs"..    else..
ca10: 20 20 20 20 20 20 6e 65 77 64 6c 66 69 6c 65 73        newdlfiles
ca20: 3d 22 24 6e 65 77 64 6c 66 69 6c 65 73 20 24 64  ="$newdlfiles $d
ca30: 65 70 6c 69 62 22 0a 09 20 20 20 20 66 69 0a 09  eplib"..    fi..
ca40: 20 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65    fi..  continue
ca50: 0a 09 20 20 3b 3b 0a 09 25 44 45 50 4c 49 42 53  ..  ;;..%DEPLIBS
ca60: 25 29 0a 09 20 20 61 6c 6c 64 65 70 6c 69 62 73  %)..  alldeplibs
ca70: 3d 79 65 73 0a 09 20 20 63 6f 6e 74 69 6e 75 65  =yes..  continue
ca80: 0a 09 20 20 3b 3b 0a 09 65 73 61 63 20 23 20 63  ..  ;;..esac # c
ca90: 61 73 65 20 24 64 65 70 6c 69 62 0a 09 69 66 20  ase $deplib..if 
caa0: 74 65 73 74 20 22 24 66 6f 75 6e 64 22 20 3d 20  test "$found" = 
cab0: 79 65 73 20 7c 7c 20 74 65 73 74 20 2d 66 20 22  yes || test -f "
cac0: 24 6c 69 62 22 3b 20 74 68 65 6e 20 3a 0a 09 65  $lib"; then :..e
cad0: 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  lse..  $echo "$m
cae0: 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20  odename: cannot 
caf0: 66 69 6e 64 20 74 68 65 20 6c 69 62 72 61 72 79  find the library
cb00: 20 5c 60 24 6c 69 62 27 22 20 31 3e 26 32 0a 09   \`$lib'" 1>&2..
cb10: 20 20 65 78 69 74 20 31 0a 09 66 69 0a 0a 09 23    exit 1..fi...#
cb20: 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 74 68   Check to see th
cb30: 61 74 20 74 68 69 73 20 72 65 61 6c 6c 79 20 69  at this really i
cb40: 73 20 61 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68  s a libtool arch
cb50: 69 76 65 2e 0a 09 69 66 20 28 24 7b 53 45 44 7d  ive...if (${SED}
cb60: 20 2d 65 20 27 32 71 27 20 24 6c 69 62 20 7c 20   -e '2q' $lib | 
cb70: 67 72 65 70 20 22 5e 23 20 47 65 6e 65 72 61 74  grep "^# Generat
cb80: 65 64 20 62 79 20 2e 2a 24 50 41 43 4b 41 47 45  ed by .*$PACKAGE
cb90: 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e  ") >/dev/null 2>
cba0: 26 31 3b 20 74 68 65 6e 20 3a 0a 09 65 6c 73 65  &1; then :..else
cbb0: 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
cbc0: 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73  name: \`$lib' is
cbd0: 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62   not a valid lib
cbe0: 74 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e  tool archive" 1>
cbf0: 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69  &2..  exit 1..fi
cc00: 0a 0a 09 6c 61 64 69 72 3d 60 24 65 63 68 6f 20  ...ladir=`$echo 
cc10: 22 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20  "X$lib" | $Xsed 
cc20: 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27  -e 's%/[^/]*$%%'
cc30: 60 0a 09 74 65 73 74 20 22 58 24 6c 61 64 69 72  `..test "X$ladir
cc40: 22 20 3d 20 22 58 24 6c 69 62 22 20 26 26 20 6c  " = "X$lib" && l
cc50: 61 64 69 72 3d 22 2e 22 0a 0a 09 64 6c 6e 61 6d  adir="."...dlnam
cc60: 65 3d 0a 09 64 6c 6f 70 65 6e 3d 0a 09 64 6c 70  e=..dlopen=..dlp
cc70: 72 65 6f 70 65 6e 3d 0a 09 6c 69 62 64 69 72 3d  reopen=..libdir=
cc80: 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d  ..library_names=
cc90: 0a 09 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 0a 09  ..old_library=..
cca0: 23 20 49 66 20 74 68 65 20 6c 69 62 72 61 72 79  # If the library
ccb0: 20 77 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 77   was installed w
ccc0: 69 74 68 20 61 6e 20 6f 6c 64 20 72 65 6c 65 61  ith an old relea
ccd0: 73 65 20 6f 66 20 6c 69 62 74 6f 6f 6c 2c 0a 09  se of libtool,..
cce0: 23 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 72 65  # it will not re
ccf0: 64 65 66 69 6e 65 20 76 61 72 69 61 62 6c 65 73  define variables
cd00: 20 69 6e 73 74 61 6c 6c 65 64 2c 20 6f 72 20 73   installed, or s
cd10: 68 6f 75 6c 64 6e 6f 74 6c 69 6e 6b 0a 09 69 6e  houldnotlink..in
cd20: 73 74 61 6c 6c 65 64 3d 79 65 73 0a 09 73 68 6f  stalled=yes..sho
cd30: 75 6c 64 6e 6f 74 6c 69 6e 6b 3d 6e 6f 0a 0a 09  uldnotlink=no...
cd40: 23 20 52 65 61 64 20 74 68 65 20 2e 6c 61 20 66  # Read the .la f
cd50: 69 6c 65 0a 09 63 61 73 65 20 24 6c 69 62 20 69  ile..case $lib i
cd60: 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e  n..*/* | *\\*) .
cd70: 20 24 6c 69 62 20 3b 3b 0a 09 2a 29 20 2e 20 2e   $lib ;;..*) . .
cd80: 2f 24 6c 69 62 20 3b 3b 0a 09 65 73 61 63 0a 0a  /$lib ;;..esac..
cd90: 09 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d  .if test "$linkm
cda0: 6f 64 65 2c 24 70 61 73 73 22 20 3d 20 22 6c 69  ode,$pass" = "li
cdb0: 62 2c 6c 69 6e 6b 22 20 7c 7c 0a 09 20 20 20 74  b,link" ||..   t
cdc0: 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c 24  est "$linkmode,$
cdd0: 70 61 73 73 22 20 3d 20 22 70 72 6f 67 2c 73 63  pass" = "prog,sc
cde0: 61 6e 22 20 7c 7c 0a 09 20 20 20 7b 20 74 65 73  an" ||..   { tes
cdf0: 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d  t "$linkmode" !=
ce00: 20 70 72 6f 67 20 26 26 20 74 65 73 74 20 22 24   prog && test "$
ce10: 6c 69 6e 6b 6d 6f 64 65 22 20 21 3d 20 6c 69 62  linkmode" != lib
ce20: 3b 20 7d 3b 20 74 68 65 6e 0a 09 20 20 74 65 73  ; }; then..  tes
ce30: 74 20 2d 6e 20 22 24 64 6c 6f 70 65 6e 22 20 26  t -n "$dlopen" &
ce40: 26 20 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69  & dlfiles="$dlfi
ce50: 6c 65 73 20 24 64 6c 6f 70 65 6e 22 0a 09 20 20  les $dlopen"..  
ce60: 74 65 73 74 20 2d 6e 20 22 24 64 6c 70 72 65 6f  test -n "$dlpreo
ce70: 70 65 6e 22 20 26 26 20 64 6c 70 72 65 66 69 6c  pen" && dlprefil
ce80: 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65 73 20  es="$dlprefiles 
ce90: 24 64 6c 70 72 65 6f 70 65 6e 22 0a 09 66 69 0a  $dlpreopen"..fi.
cea0: 0a 09 69 66 20 74 65 73 74 20 22 24 70 61 73 73  ..if test "$pass
ceb0: 22 20 3d 20 63 6f 6e 76 3b 20 74 68 65 6e 0a 09  " = conv; then..
cec0: 20 20 23 20 4f 6e 6c 79 20 63 68 65 63 6b 20 66    # Only check f
ced0: 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c  or convenience l
cee0: 69 62 72 61 72 69 65 73 0a 09 20 20 64 65 70 6c  ibraries..  depl
cef0: 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70 6c 69  ibs="$lib $depli
cf00: 62 73 22 0a 09 20 20 69 66 20 74 65 73 74 20 2d  bs"..  if test -
cf10: 7a 20 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65  z "$libdir"; the
cf20: 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  n..    if test -
cf30: 7a 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22  z "$old_library"
cf40: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65  ; then..      $e
cf50: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
cf60: 63 61 6e 6e 6f 74 20 66 69 6e 64 20 6e 61 6d 65  cannot find name
cf70: 20 6f 66 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79   of link library
cf80: 20 66 6f 72 20 5c 60 24 6c 69 62 27 22 20 31 3e   for \`$lib'" 1>
cf90: 26 32 0a 09 20 20 20 20 20 20 65 78 69 74 20 31  &2..      exit 1
cfa0: 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 23 20  ..    fi..    # 
cfb0: 49 74 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c 20  It is a libtool 
cfc0: 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62 72  convenience libr
cfd0: 61 72 79 2c 20 73 6f 20 61 64 64 20 69 6e 20 69  ary, so add in i
cfe0: 74 73 20 6f 62 6a 65 63 74 73 2e 0a 09 20 20 20  ts objects...   
cff0: 20 63 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24 63   convenience="$c
d000: 6f 6e 76 65 6e 69 65 6e 63 65 20 24 6c 61 64 69  onvenience $ladi
d010: 72 2f 24 6f 62 6a 64 69 72 2f 24 6f 6c 64 5f 6c  r/$objdir/$old_l
d020: 69 62 72 61 72 79 22 0a 09 20 20 20 20 6f 6c 64  ibrary"..    old
d030: 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24 6f  _convenience="$o
d040: 6c 64 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 20 24  ld_convenience $
d050: 6c 61 64 69 72 2f 24 6f 62 6a 64 69 72 2f 24 6f  ladir/$objdir/$o
d060: 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 20 20 20  ld_library"..   
d070: 20 74 6d 70 5f 6c 69 62 73 3d 0a 09 20 20 20 20   tmp_libs=..    
d080: 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20 24 64  for deplib in $d
d090: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3b 20  ependency_libs; 
d0a0: 64 6f 0a 09 20 20 20 20 20 20 64 65 70 6c 69 62  do..      deplib
d0b0: 73 3d 22 24 64 65 70 6c 69 62 20 24 64 65 70 6c  s="$deplib $depl
d0c0: 69 62 73 22 0a 20 20 20 20 20 20 20 20 20 20 20  ibs".           
d0d0: 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64 75     if test "X$du
d0e0: 70 6c 69 63 61 74 65 5f 64 65 70 73 22 20 3d 20  plicate_deps" = 
d0f0: 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 20  "Xyes" ; then.. 
d100: 20 20 20 20 20 20 20 63 61 73 65 20 22 24 74 6d         case "$tm
d110: 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20 20 20  p_libs " in..   
d120: 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62 20       *" $deplib 
d130: 22 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c 69  "*) specialdepli
d140: 62 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70 6c  bs="$specialdepl
d150: 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a  ibs $deplib" ;;.
d160: 09 20 20 20 20 20 20 20 20 65 73 61 63 0a 20 20  .        esac.  
d170: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 0a 09              fi..
d180: 20 20 20 20 20 20 74 6d 70 5f 6c 69 62 73 3d 22        tmp_libs="
d190: 24 74 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c 69  $tmp_libs $depli
d1a0: 62 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20  b"..    done..  
d1b0: 65 6c 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b  elif test "$link
d1c0: 6d 6f 64 65 22 20 21 3d 20 70 72 6f 67 20 26 26  mode" != prog &&
d1d0: 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
d1e0: 22 20 21 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09  " != lib; then..
d1f0: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
d200: 6e 61 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73  name: \`$lib' is
d210: 20 6e 6f 74 20 61 20 63 6f 6e 76 65 6e 69 65 6e   not a convenien
d220: 63 65 20 6c 69 62 72 61 72 79 22 20 31 3e 26 32  ce library" 1>&2
d230: 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20  ..    exit 1..  
d240: 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a 09  fi..  continue..
d250: 66 69 20 23 20 24 70 61 73 73 20 3d 20 63 6f 6e  fi # $pass = con
d260: 76 0a 0a 20 20 20 20 0a 09 23 20 47 65 74 20 74  v..    ..# Get t
d270: 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6c  he name of the l
d280: 69 62 72 61 72 79 20 77 65 20 6c 69 6e 6b 20 61  ibrary we link a
d290: 67 61 69 6e 73 74 2e 0a 09 6c 69 6e 6b 6c 69 62  gainst...linklib
d2a0: 3d 0a 09 66 6f 72 20 6c 20 69 6e 20 24 6f 6c 64  =..for l in $old
d2b0: 5f 6c 69 62 72 61 72 79 20 24 6c 69 62 72 61 72  _library $librar
d2c0: 79 5f 6e 61 6d 65 73 3b 20 64 6f 0a 09 20 20 6c  y_names; do..  l
d2d0: 69 6e 6b 6c 69 62 3d 22 24 6c 22 0a 09 64 6f 6e  inklib="$l"..don
d2e0: 65 0a 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24  e..if test -z "$
d2f0: 6c 69 6e 6b 6c 69 62 22 3b 20 74 68 65 6e 0a 09  linklib"; then..
d300: 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61    $echo "$modena
d310: 6d 65 3a 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20  me: cannot find 
d320: 6e 61 6d 65 20 6f 66 20 6c 69 6e 6b 20 6c 69 62  name of link lib
d330: 72 61 72 79 20 66 6f 72 20 5c 60 24 6c 69 62 27  rary for \`$lib'
d340: 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31  " 1>&2..  exit 1
d350: 0a 09 66 69 0a 0a 09 23 20 54 68 69 73 20 6c 69  ..fi...# This li
d360: 62 72 61 72 79 20 77 61 73 20 73 70 65 63 69 66  brary was specif
d370: 69 65 64 20 77 69 74 68 20 2d 64 6c 6f 70 65 6e  ied with -dlopen
d380: 2e 0a 09 69 66 20 74 65 73 74 20 22 24 70 61 73  ...if test "$pas
d390: 73 22 20 3d 20 64 6c 6f 70 65 6e 3b 20 74 68 65  s" = dlopen; the
d3a0: 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20  n..  if test -z 
d3b0: 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a  "$libdir"; then.
d3c0: 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
d3d0: 65 6e 61 6d 65 3a 20 63 61 6e 6e 6f 74 20 2d 64  ename: cannot -d
d3e0: 6c 6f 70 65 6e 20 61 20 63 6f 6e 76 65 6e 69 65  lopen a convenie
d3f0: 6e 63 65 20 6c 69 62 72 61 72 79 3a 20 5c 60 24  nce library: \`$
d400: 6c 69 62 27 22 20 31 3e 26 32 0a 09 20 20 20 20  lib'" 1>&2..    
d410: 65 78 69 74 20 31 0a 09 20 20 66 69 0a 09 20 20  exit 1..  fi..  
d420: 69 66 20 74 65 73 74 20 2d 7a 20 22 24 64 6c 6e  if test -z "$dln
d430: 61 6d 65 22 20 7c 7c 20 74 65 73 74 20 22 24 64  ame" || test "$d
d440: 6c 6f 70 65 6e 5f 73 75 70 70 6f 72 74 22 20 21  lopen_support" !
d450: 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20 22 24  = yes || test "$
d460: 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69  build_libtool_li
d470: 62 73 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  bs" = no; then..
d480: 20 20 20 20 23 20 49 66 20 74 68 65 72 65 20 69      # If there i
d490: 73 20 6e 6f 20 64 6c 6e 61 6d 65 2c 20 6e 6f 20  s no dlname, no 
d4a0: 64 6c 6f 70 65 6e 20 73 75 70 70 6f 72 74 20 6f  dlopen support o
d4b0: 72 20 77 65 27 72 65 20 6c 69 6e 6b 69 6e 67 0a  r we're linking.
d4c0: 09 20 20 20 20 23 20 73 74 61 74 69 63 61 6c 6c  .    # staticall
d4d0: 79 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72  y, we need to pr
d4e0: 65 6c 6f 61 64 2e 20 20 57 65 20 61 6c 73 6f 20  eload.  We also 
d4f0: 6e 65 65 64 20 74 6f 20 70 72 65 6c 6f 61 64 20  need to preload 
d500: 61 6e 79 0a 09 20 20 20 20 23 20 64 65 70 65 6e  any..    # depen
d510: 64 65 6e 74 20 6c 69 62 72 61 72 69 65 73 20 73  dent libraries s
d520: 6f 20 6c 69 62 6c 74 64 6c 27 73 20 64 65 70 6c  o libltdl's depl
d530: 69 62 20 70 72 65 6c 6f 61 64 65 72 20 64 6f 65  ib preloader doe
d540: 73 6e 27 74 0a 09 20 20 20 20 23 20 62 6f 6d 62  sn't..    # bomb
d550: 20 6f 75 74 20 69 6e 20 74 68 65 20 6c 6f 61 64   out in the load
d560: 20 64 65 70 6c 69 62 73 20 70 68 61 73 65 2e 0a   deplibs phase..
d570: 09 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73 3d  .    dlprefiles=
d580: 22 24 64 6c 70 72 65 66 69 6c 65 73 20 24 6c 69  "$dlprefiles $li
d590: 62 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  b $dependency_li
d5a0: 62 73 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  bs"..  else..   
d5b0: 20 6e 65 77 64 6c 66 69 6c 65 73 3d 22 24 6e 65   newdlfiles="$ne
d5c0: 77 64 6c 66 69 6c 65 73 20 24 6c 69 62 22 0a 09  wdlfiles $lib"..
d5d0: 20 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75 65    fi..  continue
d5e0: 0a 09 66 69 20 23 20 24 70 61 73 73 20 3d 20 64  ..fi # $pass = d
d5f0: 6c 6f 70 65 6e 0a 0a 09 23 20 57 65 20 6e 65 65  lopen...# We nee
d600: 64 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61  d an absolute pa
d610: 74 68 2e 0a 09 63 61 73 65 20 24 6c 61 64 69 72  th...case $ladir
d620: 20 69 6e 0a 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41   in..[\\/]* | [A
d630: 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61  -Za-z]:[\\/]*) a
d640: 62 73 5f 6c 61 64 69 72 3d 22 24 6c 61 64 69 72  bs_ladir="$ladir
d650: 22 20 3b 3b 0a 09 2a 29 0a 09 20 20 61 62 73 5f  " ;;..*)..  abs_
d660: 6c 61 64 69 72 3d 60 63 64 20 22 24 6c 61 64 69  ladir=`cd "$ladi
d670: 72 22 20 26 26 20 70 77 64 60 0a 09 20 20 69 66  r" && pwd`..  if
d680: 20 74 65 73 74 20 2d 7a 20 22 24 61 62 73 5f 6c   test -z "$abs_l
d690: 61 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20  adir"; then..   
d6a0: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
d6b0: 65 3a 20 77 61 72 6e 69 6e 67 3a 20 63 61 6e 6e  e: warning: cann
d6c0: 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 61 62 73  ot determine abs
d6d0: 6f 6c 75 74 65 20 64 69 72 65 63 74 6f 72 79 20  olute directory 
d6e0: 6e 61 6d 65 20 6f 66 20 5c 60 24 6c 61 64 69 72  name of \`$ladir
d6f0: 27 22 20 31 3e 26 32 0a 09 20 20 20 20 24 65 63  '" 1>&2..    $ec
d700: 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 70  ho "$modename: p
d710: 61 73 73 69 6e 67 20 69 74 20 6c 69 74 65 72 61  assing it litera
d720: 6c 6c 79 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  lly to the linke
d730: 72 2c 20 61 6c 74 68 6f 75 67 68 20 69 74 20 6d  r, although it m
d740: 69 67 68 74 20 66 61 69 6c 22 20 31 3e 26 32 0a  ight fail" 1>&2.
d750: 09 20 20 20 20 61 62 73 5f 6c 61 64 69 72 3d 22  .    abs_ladir="
d760: 24 6c 61 64 69 72 22 0a 09 20 20 66 69 0a 09 20  $ladir"..  fi.. 
d770: 20 3b 3b 0a 09 65 73 61 63 0a 09 6c 61 6e 61 6d   ;;..esac..lanam
d780: 65 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 62 22  e=`$echo "X$lib"
d790: 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
d7a0: 2e 2a 2f 25 25 27 60 0a 0a 09 23 20 46 69 6e 64  .*/%%'`...# Find
d7b0: 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 6f 62   the relevant ob
d7c0: 6a 65 63 74 20 64 69 72 65 63 74 6f 72 79 20 61  ject directory a
d7d0: 6e 64 20 6c 69 62 72 61 72 79 20 6e 61 6d 65 2e  nd library name.
d7e0: 0a 09 69 66 20 74 65 73 74 20 22 58 24 69 6e 73  ..if test "X$ins
d7f0: 74 61 6c 6c 65 64 22 20 3d 20 58 79 65 73 3b 20  talled" = Xyes; 
d800: 74 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20  then..  if test 
d810: 21 20 2d 66 20 22 24 6c 69 62 64 69 72 2f 24 6c  ! -f "$libdir/$l
d820: 69 6e 6b 6c 69 62 22 20 26 26 20 74 65 73 74 20  inklib" && test 
d830: 2d 66 20 22 24 61 62 73 5f 6c 61 64 69 72 2f 24  -f "$abs_ladir/$
d840: 6c 69 6e 6b 6c 69 62 22 3b 20 74 68 65 6e 0a 09  linklib"; then..
d850: 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
d860: 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 6c  name: warning: l
d870: 69 62 72 61 72 79 20 5c 60 24 6c 69 62 27 20 77  ibrary \`$lib' w
d880: 61 73 20 6d 6f 76 65 64 2e 22 20 31 3e 26 32 0a  as moved." 1>&2.
d890: 09 20 20 20 20 64 69 72 3d 22 24 6c 61 64 69 72  .    dir="$ladir
d8a0: 22 0a 09 20 20 20 20 61 62 73 64 69 72 3d 22 24  "..    absdir="$
d8b0: 61 62 73 5f 6c 61 64 69 72 22 0a 09 20 20 20 20  abs_ladir"..    
d8c0: 6c 69 62 64 69 72 3d 22 24 61 62 73 5f 6c 61 64  libdir="$abs_lad
d8d0: 69 72 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  ir"..  else..   
d8e0: 20 64 69 72 3d 22 24 6c 69 62 64 69 72 22 0a 09   dir="$libdir"..
d8f0: 20 20 20 20 61 62 73 64 69 72 3d 22 24 6c 69 62      absdir="$lib
d900: 64 69 72 22 0a 09 20 20 66 69 0a 09 65 6c 73 65  dir"..  fi..else
d910: 0a 09 20 20 64 69 72 3d 22 24 6c 61 64 69 72 2f  ..  dir="$ladir/
d920: 24 6f 62 6a 64 69 72 22 0a 09 20 20 61 62 73 64  $objdir"..  absd
d930: 69 72 3d 22 24 61 62 73 5f 6c 61 64 69 72 2f 24  ir="$abs_ladir/$
d940: 6f 62 6a 64 69 72 22 0a 09 20 20 23 20 52 65 6d  objdir"..  # Rem
d950: 6f 76 65 20 74 68 69 73 20 73 65 61 72 63 68 20  ove this search 
d960: 70 61 74 68 20 6c 61 74 65 72 0a 09 20 20 6e 6f  path later..  no
d970: 74 69 6e 73 74 5f 70 61 74 68 3d 22 24 6e 6f 74  tinst_path="$not
d980: 69 6e 73 74 5f 70 61 74 68 20 24 61 62 73 5f 6c  inst_path $abs_l
d990: 61 64 69 72 22 0a 09 66 69 20 23 20 24 69 6e 73  adir"..fi # $ins
d9a0: 74 61 6c 6c 65 64 20 3d 20 79 65 73 0a 09 6e 61  talled = yes..na
d9b0: 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6c 61 6e  me=`$echo "X$lan
d9c0: 61 6d 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20  ame" | $Xsed -e 
d9d0: 27 73 2f 5c 2e 6c 61 24 2f 2f 27 20 2d 65 20 27  's/\.la$//' -e '
d9e0: 73 2f 5e 6c 69 62 2f 2f 27 60 0a 0a 09 23 20 54  s/^lib//'`...# T
d9f0: 68 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 20  his library was 
da00: 73 70 65 63 69 66 69 65 64 20 77 69 74 68 20 2d  specified with -
da10: 64 6c 70 72 65 6f 70 65 6e 2e 0a 09 69 66 20 74  dlpreopen...if t
da20: 65 73 74 20 22 24 70 61 73 73 22 20 3d 20 64 6c  est "$pass" = dl
da30: 70 72 65 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 20  preopen; then.. 
da40: 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69   if test -z "$li
da50: 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20  bdir"; then..   
da60: 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
da70: 65 3a 20 63 61 6e 6e 6f 74 20 2d 64 6c 70 72 65  e: cannot -dlpre
da80: 6f 70 65 6e 20 61 20 63 6f 6e 76 65 6e 69 65 6e  open a convenien
da90: 63 65 20 6c 69 62 72 61 72 79 3a 20 5c 60 24 6c  ce library: \`$l
daa0: 69 62 27 22 20 31 3e 26 32 0a 09 20 20 20 20 65  ib'" 1>&2..    e
dab0: 78 69 74 20 31 0a 09 20 20 66 69 0a 09 20 20 23  xit 1..  fi..  #
dac0: 20 50 72 65 66 65 72 20 75 73 69 6e 67 20 61 20   Prefer using a 
dad0: 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 20 28  static library (
dae0: 73 6f 20 74 68 61 74 20 6e 6f 20 73 69 6c 6c 79  so that no silly
daf0: 20 5f 44 59 4e 41 4d 49 43 20 73 79 6d 62 6f 6c   _DYNAMIC symbol
db00: 73 0a 09 20 20 23 20 61 72 65 20 72 65 71 75 69  s..  # are requi
db10: 72 65 64 20 74 6f 20 6c 69 6e 6b 29 2e 0a 09 20  red to link)... 
db20: 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c   if test -n "$ol
db30: 64 5f 6c 69 62 72 61 72 79 22 3b 20 74 68 65 6e  d_library"; then
db40: 0a 09 20 20 20 20 6e 65 77 64 6c 70 72 65 66 69  ..    newdlprefi
db50: 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69  les="$newdlprefi
db60: 6c 65 73 20 24 64 69 72 2f 24 6f 6c 64 5f 6c 69  les $dir/$old_li
db70: 62 72 61 72 79 22 0a 09 20 20 23 20 4f 74 68 65  brary"..  # Othe
db80: 72 77 69 73 65 2c 20 75 73 65 20 74 68 65 20 64  rwise, use the d
db90: 6c 6e 61 6d 65 2c 20 73 6f 20 74 68 61 74 20 6c  lname, so that l
dba0: 74 5f 64 6c 6f 70 65 6e 20 66 69 6e 64 73 20 69  t_dlopen finds i
dbb0: 74 2e 0a 09 20 20 65 6c 69 66 20 74 65 73 74 20  t...  elif test 
dbc0: 2d 6e 20 22 24 64 6c 6e 61 6d 65 22 3b 20 74 68  -n "$dlname"; th
dbd0: 65 6e 0a 09 20 20 20 20 6e 65 77 64 6c 70 72 65  en..    newdlpre
dbe0: 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70 72 65  files="$newdlpre
dbf0: 66 69 6c 65 73 20 24 64 69 72 2f 24 64 6c 6e 61  files $dir/$dlna
dc00: 6d 65 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  me"..  else..   
dc10: 20 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 3d 22   newdlprefiles="
dc20: 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73 20 24  $newdlprefiles $
dc30: 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09 20  dir/$linklib".. 
dc40: 20 66 69 0a 09 66 69 20 23 20 24 70 61 73 73 20   fi..fi # $pass 
dc50: 3d 20 64 6c 70 72 65 6f 70 65 6e 0a 0a 09 69 66  = dlpreopen...if
dc60: 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 64 69   test -z "$libdi
dc70: 72 22 3b 20 74 68 65 6e 0a 09 20 20 23 20 4c 69  r"; then..  # Li
dc80: 6e 6b 20 74 68 65 20 63 6f 6e 76 65 6e 69 65 6e  nk the convenien
dc90: 63 65 20 6c 69 62 72 61 72 79 0a 09 20 20 69 66  ce library..  if
dca0: 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
dcb0: 22 20 3d 20 6c 69 62 3b 20 74 68 65 6e 0a 09 20  " = lib; then.. 
dcc0: 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 69 72     deplibs="$dir
dcd0: 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 20 24 64  /$old_library $d
dce0: 65 70 6c 69 62 73 22 0a 09 20 20 65 6c 69 66 20  eplibs"..  elif 
dcf0: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 2c  test "$linkmode,
dd00: 24 70 61 73 73 22 20 3d 20 22 70 72 6f 67 2c 6c  $pass" = "prog,l
dd10: 69 6e 6b 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  ink"; then..    
dd20: 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d  compile_deplibs=
dd30: 22 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61  "$dir/$old_libra
dd40: 72 79 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70 6c  ry $compile_depl
dd50: 69 62 73 22 0a 09 20 20 20 20 66 69 6e 61 6c 69  ibs"..    finali
dd60: 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24 64 69 72  ze_deplibs="$dir
dd70: 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 20 24 66  /$old_library $f
dd80: 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22  inalize_deplibs"
dd90: 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 64 65  ..  else..    de
dda0: 70 6c 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70  plibs="$lib $dep
ddb0: 6c 69 62 73 22 20 23 20 75 73 65 64 20 66 6f 72  libs" # used for
ddc0: 20 70 72 6f 67 2c 73 63 61 6e 20 70 61 73 73 0a   prog,scan pass.
ddd0: 09 20 20 66 69 0a 09 20 20 63 6f 6e 74 69 6e 75  .  fi..  continu
dde0: 65 0a 09 66 69 0a 0a 20 20 20 20 0a 09 69 66 20  e..fi..    ..if 
ddf0: 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
de00: 20 3d 20 70 72 6f 67 20 26 26 20 74 65 73 74 20   = prog && test 
de10: 22 24 70 61 73 73 22 20 21 3d 20 6c 69 6e 6b 3b  "$pass" != link;
de20: 20 74 68 65 6e 0a 09 20 20 6e 65 77 6c 69 62 5f   then..  newlib_
de30: 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6e 65  search_path="$ne
de40: 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
de50: 20 24 6c 61 64 69 72 22 0a 09 20 20 64 65 70 6c   $ladir"..  depl
de60: 69 62 73 3d 22 24 6c 69 62 20 24 64 65 70 6c 69  ibs="$lib $depli
de70: 62 73 22 0a 0a 09 20 20 6c 69 6e 6b 61 6c 6c 64  bs"...  linkalld
de80: 65 70 6c 69 62 73 3d 6e 6f 0a 09 20 20 69 66 20  eplibs=no..  if 
de90: 74 65 73 74 20 22 24 6c 69 6e 6b 5f 61 6c 6c 5f  test "$link_all_
dea0: 64 65 70 6c 69 62 73 22 20 21 3d 20 6e 6f 20 7c  deplibs" != no |
deb0: 7c 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 72  | test -z "$libr
dec0: 61 72 79 5f 6e 61 6d 65 73 22 20 7c 7c 0a 09 20  ary_names" ||.. 
ded0: 20 20 20 20 74 65 73 74 20 22 24 62 75 69 6c 64      test "$build
dee0: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
def0: 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 6c   no; then..    l
df00: 69 6e 6b 61 6c 6c 64 65 70 6c 69 62 73 3d 79 65  inkalldeplibs=ye
df10: 73 0a 09 20 20 66 69 0a 0a 09 20 20 74 6d 70 5f  s..  fi...  tmp_
df20: 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70  libs=..  for dep
df30: 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
df40: 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
df50: 20 63 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e   case $deplib in
df60: 0a 09 20 20 20 20 2d 4c 2a 29 20 6e 65 77 6c 69  ..    -L*) newli
df70: 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24  b_search_path="$
df80: 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
df90: 74 68 20 22 60 24 65 63 68 6f 20 22 58 24 64 65  th "`$echo "X$de
dfa0: 70 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  plib" | $Xsed -e
dfb0: 20 27 73 2f 5e 2d 4c 2f 2f 27 60 3b 3b 20 23 23   's/^-L//'`;; ##
dfc0: 23 20 74 65 73 74 73 75 69 74 65 3a 20 73 6b 69  # testsuite: ski
dfd0: 70 20 6e 65 73 74 65 64 20 71 75 6f 74 69 6e 67  p nested quoting
dfe0: 20 74 65 73 74 0a 09 20 20 20 20 65 73 61 63 0a   test..    esac.
dff0: 09 20 20 20 20 23 20 4e 65 65 64 20 74 6f 20 6c  .    # Need to l
e000: 69 6e 6b 20 61 67 61 69 6e 73 74 20 61 6c 6c 20  ink against all 
e010: 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3f  dependency_libs?
e020: 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
e030: 6c 69 6e 6b 61 6c 6c 64 65 70 6c 69 62 73 22 20  linkalldeplibs" 
e040: 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  = yes; then..   
e050: 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64 65 70     deplibs="$dep
e060: 6c 69 62 20 24 64 65 70 6c 69 62 73 22 0a 09 20  lib $deplibs".. 
e070: 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23     else..      #
e080: 20 4e 65 65 64 20 74 6f 20 68 61 72 64 63 6f 64   Need to hardcod
e090: 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79  e shared library
e0a0: 20 70 61 74 68 73 0a 09 20 20 20 20 20 20 23 20   paths..      # 
e0b0: 6f 72 2f 61 6e 64 20 6c 69 6e 6b 20 61 67 61 69  or/and link agai
e0c0: 6e 73 74 20 73 74 61 74 69 63 20 6c 69 62 72 61  nst static libra
e0d0: 72 69 65 73 0a 09 20 20 20 20 20 20 6e 65 77 64  ries..      newd
e0e0: 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
e0f0: 24 64 65 70 6c 69 62 20 24 6e 65 77 64 65 70 65  $deplib $newdepe
e100: 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20 20  ndency_libs"..  
e110: 20 20 66 69 0a 09 20 20 20 20 69 66 20 74 65 73    fi..    if tes
e120: 74 20 22 58 24 64 75 70 6c 69 63 61 74 65 5f 64  t "X$duplicate_d
e130: 65 70 73 22 20 3d 20 22 58 79 65 73 22 20 3b 20  eps" = "Xyes" ; 
e140: 74 68 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65  then..      case
e150: 20 22 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e   "$tmp_libs " in
e160: 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c  ..      *" $depl
e170: 69 62 20 22 2a 29 20 73 70 65 63 69 61 6c 64 65  ib "*) specialde
e180: 70 6c 69 62 73 3d 22 24 73 70 65 63 69 61 6c 64  plibs="$speciald
e190: 65 70 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20  eplibs $deplib" 
e1a0: 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
e1b0: 20 20 20 20 66 69 0a 09 20 20 20 20 74 6d 70 5f      fi..    tmp_
e1c0: 6c 69 62 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20  libs="$tmp_libs 
e1d0: 24 64 65 70 6c 69 62 22 0a 09 20 20 64 6f 6e 65  $deplib"..  done
e1e0: 20 23 20 66 6f 72 20 64 65 70 6c 69 62 0a 09 20   # for deplib.. 
e1f0: 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69 20 23 20   continue..fi # 
e200: 24 6c 69 6e 6b 6d 6f 64 65 20 3d 20 70 72 6f 67  $linkmode = prog
e210: 2e 2e 2e 0a 0a 09 69 66 20 74 65 73 74 20 22 24  ......if test "$
e220: 6c 69 6e 6b 6d 6f 64 65 2c 24 70 61 73 73 22 20  linkmode,$pass" 
e230: 3d 20 22 70 72 6f 67 2c 6c 69 6e 6b 22 3b 20 74  = "prog,link"; t
e240: 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d  hen..  if test -
e250: 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65  n "$library_name
e260: 73 22 20 26 26 0a 09 20 20 20 20 20 7b 20 74 65  s" &&..     { te
e270: 73 74 20 22 24 70 72 65 66 65 72 5f 73 74 61 74  st "$prefer_stat
e280: 69 63 5f 6c 69 62 73 22 20 3d 20 6e 6f 20 7c 7c  ic_libs" = no ||
e290: 20 74 65 73 74 20 2d 7a 20 22 24 6f 6c 64 5f 6c   test -z "$old_l
e2a0: 69 62 72 61 72 79 22 3b 20 7d 3b 20 74 68 65 6e  ibrary"; }; then
e2b0: 0a 09 20 20 20 20 23 20 57 65 20 6e 65 65 64 20  ..    # We need 
e2c0: 74 6f 20 68 61 72 64 63 6f 64 65 20 74 68 65 20  to hardcode the 
e2d0: 6c 69 62 72 61 72 79 20 70 61 74 68 0a 09 20 20  library path..  
e2e0: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73    if test -n "$s
e2f0: 68 6c 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74  hlibpath_var"; t
e300: 68 65 6e 0a 09 20 20 20 20 20 20 23 20 4d 61 6b  hen..      # Mak
e310: 65 20 73 75 72 65 20 74 68 65 20 72 70 61 74 68  e sure the rpath
e320: 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 75   contains only u
e330: 6e 69 71 75 65 20 64 69 72 65 63 74 6f 72 69 65  nique directorie
e340: 73 2e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22  s...      case "
e350: 24 74 65 6d 70 5f 72 70 61 74 68 20 22 20 69 6e  $temp_rpath " in
e360: 0a 09 20 20 20 20 20 20 2a 22 20 24 64 69 72 20  ..      *" $dir 
e370: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 22  "*) ;;..      *"
e380: 20 24 61 62 73 64 69 72 20 22 2a 29 20 3b 3b 0a   $absdir "*) ;;.
e390: 09 20 20 20 20 20 20 2a 29 20 74 65 6d 70 5f 72  .      *) temp_r
e3a0: 70 61 74 68 3d 22 24 74 65 6d 70 5f 72 70 61 74  path="$temp_rpat
e3b0: 68 20 24 64 69 72 22 20 3b 3b 0a 09 20 20 20 20  h $dir" ;;..    
e3c0: 20 20 65 73 61 63 0a 09 20 20 20 20 66 69 0a 0a    esac..    fi..
e3d0: 09 20 20 20 20 23 20 48 61 72 64 63 6f 64 65 20  .    # Hardcode 
e3e0: 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  the library path
e3f0: 2e 0a 09 20 20 20 20 23 20 53 6b 69 70 20 64 69  ...    # Skip di
e400: 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 61  rectories that a
e410: 72 65 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d  re in the system
e420: 20 64 65 66 61 75 6c 74 20 72 75 6e 2d 74 69 6d   default run-tim
e430: 65 0a 09 20 20 20 20 23 20 73 65 61 72 63 68 20  e..    # search 
e440: 70 61 74 68 2e 0a 09 20 20 20 20 63 61 73 65 20  path...    case 
e450: 22 20 24 73 79 73 5f 6c 69 62 5f 64 6c 73 65 61  " $sys_lib_dlsea
e460: 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a 09 20  rch_path " in.. 
e470: 20 20 20 2a 22 20 24 61 62 73 64 69 72 20 22 2a     *" $absdir "*
e480: 29 20 3b 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20  ) ;;..    *)..  
e490: 20 20 20 20 63 61 73 65 20 22 24 63 6f 6d 70 69      case "$compi
e4a0: 6c 65 5f 72 70 61 74 68 20 22 20 69 6e 0a 09 20  le_rpath " in.. 
e4b0: 20 20 20 20 20 2a 22 20 24 61 62 73 64 69 72 20       *" $absdir 
e4c0: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29  "*) ;;..      *)
e4d0: 20 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d 22   compile_rpath="
e4e0: 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20 24  $compile_rpath $
e4f0: 61 62 73 64 69 72 22 0a 09 20 20 20 20 20 20 65  absdir"..      e
e500: 73 61 63 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20  sac..      ;;.. 
e510: 20 20 20 65 73 61 63 0a 09 20 20 20 20 63 61 73     esac..    cas
e520: 65 20 22 20 24 73 79 73 5f 6c 69 62 5f 64 6c 73  e " $sys_lib_dls
e530: 65 61 72 63 68 5f 70 61 74 68 20 22 20 69 6e 0a  earch_path " in.
e540: 09 20 20 20 20 2a 22 20 24 6c 69 62 64 69 72 20  .    *" $libdir 
e550: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 0a 09  "*) ;;..    *)..
e560: 20 20 20 20 20 20 63 61 73 65 20 22 24 66 69 6e        case "$fin
e570: 61 6c 69 7a 65 5f 72 70 61 74 68 20 22 20 69 6e  alize_rpath " in
e580: 0a 09 20 20 20 20 20 20 2a 22 20 24 6c 69 62 64  ..      *" $libd
e590: 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20  ir "*) ;;..     
e5a0: 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61   *) finalize_rpa
e5b0: 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70  th="$finalize_rp
e5c0: 61 74 68 20 24 6c 69 62 64 69 72 22 0a 09 20 20  ath $libdir"..  
e5d0: 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 20 20      esac..      
e5e0: 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20  ;;..    esac..  
e5f0: 66 69 20 23 20 24 6c 69 6e 6b 6d 6f 64 65 2c 24  fi # $linkmode,$
e600: 70 61 73 73 20 3d 20 70 72 6f 67 2c 6c 69 6e 6b  pass = prog,link
e610: 2e 2e 2e 0a 0a 09 20 20 69 66 20 74 65 73 74 20  ......  if test 
e620: 22 24 61 6c 6c 64 65 70 6c 69 62 73 22 20 3d 20  "$alldeplibs" = 
e630: 79 65 73 20 26 26 0a 09 20 20 20 20 20 7b 20 74  yes &&..     { t
e640: 65 73 74 20 22 24 64 65 70 6c 69 62 73 5f 63 68  est "$deplibs_ch
e650: 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3d 20 70 61  eck_method" = pa
e660: 73 73 5f 61 6c 6c 20 7c 7c 0a 09 20 20 20 20 20  ss_all ||..     
e670: 20 20 7b 20 74 65 73 74 20 22 24 62 75 69 6c 64    { test "$build
e680: 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
e690: 20 79 65 73 20 26 26 0a 09 09 20 74 65 73 74 20   yes &&... test 
e6a0: 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d  -n "$library_nam
e6b0: 65 73 22 3b 20 7d 3b 20 7d 3b 20 74 68 65 6e 0a  es"; }; }; then.
e6c0: 09 20 20 20 20 23 20 57 65 20 6f 6e 6c 79 20 6e  .    # We only n
e6d0: 65 65 64 20 74 6f 20 73 65 61 72 63 68 20 66 6f  eed to search fo
e6e0: 72 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 69  r static librari
e6f0: 65 73 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65  es..    continue
e700: 0a 09 20 20 66 69 0a 09 66 69 0a 0a 09 6c 69 6e  ..  fi..fi...lin
e710: 6b 5f 73 74 61 74 69 63 3d 6e 6f 20 23 20 57 68  k_static=no # Wh
e720: 65 74 68 65 72 20 74 68 65 20 64 65 70 6c 69 62  ether the deplib
e730: 20 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 20   will be linked 
e740: 73 74 61 74 69 63 61 6c 6c 79 0a 09 69 66 20 74  statically..if t
e750: 65 73 74 20 2d 6e 20 22 24 6c 69 62 72 61 72 79  est -n "$library
e760: 5f 6e 61 6d 65 73 22 20 26 26 0a 09 20 20 20 7b  _names" &&..   {
e770: 20 74 65 73 74 20 22 24 70 72 65 66 65 72 5f 73   test "$prefer_s
e780: 74 61 74 69 63 5f 6c 69 62 73 22 20 3d 20 6e 6f  tatic_libs" = no
e790: 20 7c 7c 20 74 65 73 74 20 2d 7a 20 22 24 6f 6c   || test -z "$ol
e7a0: 64 5f 6c 69 62 72 61 72 79 22 3b 20 7d 3b 20 74  d_library"; }; t
e7b0: 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22  hen..  if test "
e7c0: 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d 20 6e 6f  $installed" = no
e7d0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 6e 6f 74 69  ; then..    noti
e7e0: 6e 73 74 5f 64 65 70 6c 69 62 73 3d 22 24 6e 6f  nst_deplibs="$no
e7f0: 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 20 24 6c  tinst_deplibs $l
e800: 69 62 22 0a 09 20 20 20 20 6e 65 65 64 5f 72 65  ib"..    need_re
e810: 6c 69 6e 6b 3d 79 65 73 0a 09 20 20 66 69 0a 09  link=yes..  fi..
e820: 20 20 23 20 54 68 69 73 20 69 73 20 61 20 73 68    # This is a sh
e830: 61 72 65 64 20 6c 69 62 72 61 72 79 0a 09 0a 20  ared library... 
e840: 20 20 20 20 20 23 20 57 61 72 6e 20 61 62 6f 75       # Warn abou
e850: 74 20 70 6f 72 74 61 62 69 6c 69 74 79 2c 20 63  t portability, c
e860: 61 6e 27 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  an't link agains
e870: 74 20 2d 6d 6f 64 75 6c 65 27 73 20 6f 6e 20 73  t -module's on s
e880: 6f 6d 65 20 73 79 73 74 65 6d 73 20 28 64 61 72  ome systems (dar
e890: 77 69 6e 29 0a 20 20 20 20 20 20 69 66 20 74 65  win).      if te
e8a0: 73 74 20 22 24 73 68 6f 75 6c 64 6e 6f 74 6c 69  st "$shouldnotli
e8b0: 6e 6b 22 20 3d 20 79 65 73 20 26 26 20 74 65 73  nk" = yes && tes
e8c0: 74 20 22 24 70 61 73 73 22 20 3d 20 6c 69 6e 6b  t "$pass" = link
e8d0: 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65 63   ; then..    $ec
e8e0: 68 6f 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  ho..    if test 
e8f0: 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70 72  "$linkmode" = pr
e900: 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  og; then..      
e910: 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69  $echo "*** Warni
e920: 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74 68 65 20  ng: Linking the 
e930: 65 78 65 63 75 74 61 62 6c 65 20 24 6f 75 74 70  executable $outp
e940: 75 74 20 61 67 61 69 6e 73 74 20 74 68 65 20 6c  ut against the l
e950: 6f 61 64 61 62 6c 65 20 6d 6f 64 75 6c 65 22 0a  oadable module".
e960: 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
e970: 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e   $echo "*** Warn
e980: 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74 68 65  ing: Linking the
e990: 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20   shared library 
e9a0: 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73 74 20  $output against 
e9b0: 74 68 65 20 6c 6f 61 64 61 62 6c 65 20 6d 6f 64  the loadable mod
e9c0: 75 6c 65 22 0a 09 20 20 20 20 66 69 0a 09 20 20  ule"..    fi..  
e9d0: 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 24 6c 69    $echo "*** $li
e9e0: 6e 6b 6c 69 62 20 69 73 20 6e 6f 74 20 70 6f 72  nklib is not por
e9f0: 74 61 62 6c 65 21 22 20 20 20 20 0a 20 20 20 20  table!"    .    
ea00: 20 20 66 69 09 20 20 0a 09 20 20 69 66 20 74 65    fi.  ..  if te
ea10: 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d  st "$linkmode" =
ea20: 20 6c 69 62 20 26 26 0a 09 20 20 20 20 20 74 65   lib &&..     te
ea30: 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 69 6e  st "$hardcode_in
ea40: 74 6f 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  to_libs" = yes; 
ea50: 74 68 65 6e 0a 09 20 20 20 20 23 20 48 61 72 64  then..    # Hard
ea60: 63 6f 64 65 20 74 68 65 20 6c 69 62 72 61 72 79  code the library
ea70: 20 70 61 74 68 2e 0a 09 20 20 20 20 23 20 53 6b   path...    # Sk
ea80: 69 70 20 64 69 72 65 63 74 6f 72 69 65 73 20 74  ip directories t
ea90: 68 61 74 20 61 72 65 20 69 6e 20 74 68 65 20 73  hat are in the s
eaa0: 79 73 74 65 6d 20 64 65 66 61 75 6c 74 20 72 75  ystem default ru
eab0: 6e 2d 74 69 6d 65 0a 09 20 20 20 20 23 20 73 65  n-time..    # se
eac0: 61 72 63 68 20 70 61 74 68 2e 0a 09 20 20 20 20  arch path...    
ead0: 63 61 73 65 20 22 20 24 73 79 73 5f 6c 69 62 5f  case " $sys_lib_
eae0: 64 6c 73 65 61 72 63 68 5f 70 61 74 68 20 22 20  dlsearch_path " 
eaf0: 69 6e 0a 09 20 20 20 20 2a 22 20 24 61 62 73 64  in..    *" $absd
eb00: 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a  ir "*) ;;..    *
eb10: 29 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24  )..      case "$
eb20: 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 20 22 20  compile_rpath " 
eb30: 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 61 62  in..      *" $ab
eb40: 73 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20  sdir "*) ;;..   
eb50: 20 20 20 2a 29 20 63 6f 6d 70 69 6c 65 5f 72 70     *) compile_rp
eb60: 61 74 68 3d 22 24 63 6f 6d 70 69 6c 65 5f 72 70  ath="$compile_rp
eb70: 61 74 68 20 24 61 62 73 64 69 72 22 0a 09 20 20  ath $absdir"..  
eb80: 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 20 20      esac..      
eb90: 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20  ;;..    esac..  
eba0: 20 20 63 61 73 65 20 22 20 24 73 79 73 5f 6c 69    case " $sys_li
ebb0: 62 5f 64 6c 73 65 61 72 63 68 5f 70 61 74 68 20  b_dlsearch_path 
ebc0: 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 24 6c 69  " in..    *" $li
ebd0: 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20  bdir "*) ;;..   
ebe0: 20 2a 29 0a 09 20 20 20 20 20 20 63 61 73 65 20   *)..      case 
ebf0: 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68  "$finalize_rpath
ec00: 20 22 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20   " in..      *" 
ec10: 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09  $libdir "*) ;;..
ec20: 20 20 20 20 20 20 2a 29 20 66 69 6e 61 6c 69 7a        *) finaliz
ec30: 65 5f 72 70 61 74 68 3d 22 24 66 69 6e 61 6c 69  e_rpath="$finali
ec40: 7a 65 5f 72 70 61 74 68 20 24 6c 69 62 64 69 72  ze_rpath $libdir
ec50: 22 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20  "..      esac.. 
ec60: 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73 61       ;;..    esa
ec70: 63 0a 09 20 20 66 69 0a 0a 09 20 20 69 66 20 74  c..  fi...  if t
ec80: 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 61 72 63  est -n "$old_arc
ec90: 68 69 76 65 5f 66 72 6f 6d 5f 65 78 70 73 79 6d  hive_from_expsym
eca0: 73 5f 63 6d 64 73 22 3b 20 74 68 65 6e 0a 09 20  s_cmds"; then.. 
ecb0: 20 20 20 23 20 66 69 67 75 72 65 20 6f 75 74 20     # figure out 
ecc0: 74 68 65 20 73 6f 6e 61 6d 65 0a 09 20 20 20 20  the soname..    
ecd0: 73 65 74 20 64 75 6d 6d 79 20 24 6c 69 62 72 61  set dummy $libra
ece0: 72 79 5f 6e 61 6d 65 73 0a 09 20 20 20 20 72 65  ry_names..    re
ecf0: 61 6c 6e 61 6d 65 3d 22 24 32 22 0a 09 20 20 20  alname="$2"..   
ed00: 20 73 68 69 66 74 3b 20 73 68 69 66 74 0a 09 20   shift; shift.. 
ed10: 20 20 20 6c 69 62 6e 61 6d 65 3d 60 65 76 61 6c     libname=`eval
ed20: 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c 69 62 6e   \\$echo \"$libn
ed30: 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09 20 20 20  ame_spec\"`..   
ed40: 20 23 20 75 73 65 20 64 6c 6e 61 6d 65 20 69 66   # use dlname if
ed50: 20 77 65 20 67 6f 74 20 69 74 2e 20 69 74 27 73   we got it. it's
ed60: 20 70 65 72 66 65 63 74 6c 79 20 67 6f 6f 64 2c   perfectly good,
ed70: 20 6e 6f 3f 0a 09 20 20 20 20 69 66 20 74 65 73   no?..    if tes
ed80: 74 20 2d 6e 20 22 24 64 6c 6e 61 6d 65 22 3b 20  t -n "$dlname"; 
ed90: 74 68 65 6e 0a 09 20 20 20 20 20 20 73 6f 6e 61  then..      sona
eda0: 6d 65 3d 22 24 64 6c 6e 61 6d 65 22 0a 09 20 20  me="$dlname"..  
edb0: 20 20 65 6c 69 66 20 74 65 73 74 20 2d 6e 20 22    elif test -n "
edc0: 24 73 6f 6e 61 6d 65 5f 73 70 65 63 22 3b 20 74  $soname_spec"; t
edd0: 68 65 6e 0a 09 20 20 20 20 20 20 23 20 62 6c 65  hen..      # ble
ede0: 68 20 77 69 6e 64 6f 77 73 0a 09 20 20 20 20 20  h windows..     
edf0: 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09   case $host in..
ee00: 20 20 20 20 20 20 2a 63 79 67 77 69 6e 2a 20 7c        *cygwin* |
ee10: 20 6d 69 6e 67 77 2a 29 0a 09 09 6d 61 6a 6f 72   mingw*)...major
ee20: 3d 60 65 78 70 72 20 24 63 75 72 72 65 6e 74 20  =`expr $current 
ee30: 2d 20 24 61 67 65 60 0a 09 09 76 65 72 73 75 66  - $age`...versuf
ee40: 66 69 78 3d 22 2d 24 6d 61 6a 6f 72 22 0a 09 09  fix="-$major"...
ee50: 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09  ;;..      esac..
ee60: 20 20 20 20 20 20 65 76 61 6c 20 73 6f 6e 61 6d        eval sonam
ee70: 65 3d 5c 22 24 73 6f 6e 61 6d 65 5f 73 70 65 63  e=\"$soname_spec
ee80: 5c 22 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20  \"..    else..  
ee90: 20 20 20 20 73 6f 6e 61 6d 65 3d 22 24 72 65 61      soname="$rea
eea0: 6c 6e 61 6d 65 22 0a 09 20 20 20 20 66 69 0a 0a  lname"..    fi..
eeb0: 09 20 20 20 20 23 20 4d 61 6b 65 20 61 20 6e 65  .    # Make a ne
eec0: 77 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 65  w name for the e
eed0: 78 74 72 61 63 74 5f 65 78 70 73 79 6d 73 5f 63  xtract_expsyms_c
eee0: 6d 64 73 20 74 6f 20 75 73 65 0a 09 20 20 20 20  mds to use..    
eef0: 73 6f 72 6f 6f 74 3d 22 24 73 6f 6e 61 6d 65 22  soroot="$soname"
ef00: 0a 09 20 20 20 20 73 6f 6e 61 6d 65 3d 60 24 65  ..    soname=`$e
ef10: 63 68 6f 20 24 73 6f 72 6f 6f 74 20 7c 20 24 7b  cho $soroot | ${
ef20: 53 45 44 7d 20 2d 65 20 27 73 2f 5e 2e 2a 5c 2f  SED} -e 's/^.*\/
ef30: 2f 2f 27 60 0a 09 20 20 20 20 6e 65 77 6c 69 62  //'`..    newlib
ef40: 3d 22 6c 69 62 69 6d 70 2d 60 24 65 63 68 6f 20  ="libimp-`$echo 
ef50: 24 73 6f 6e 61 6d 65 20 7c 20 24 7b 53 45 44 7d  $soname | ${SED}
ef60: 20 27 73 2f 5e 6c 69 62 2f 2f 3b 73 2f 5c 2e 64   's/^lib//;s/\.d
ef70: 6c 6c 24 2f 2f 27 60 2e 61 22 0a 0a 09 20 20 20  ll$//'`.a"...   
ef80: 20 23 20 49 66 20 74 68 65 20 6c 69 62 72 61 72   # If the librar
ef90: 79 20 68 61 73 20 6e 6f 20 65 78 70 6f 72 74 20  y has no export 
efa0: 6c 69 73 74 2c 20 74 68 65 6e 20 63 72 65 61 74  list, then creat
efb0: 65 20 6f 6e 65 20 6e 6f 77 0a 09 20 20 20 20 69  e one now..    i
efc0: 66 20 74 65 73 74 20 2d 66 20 22 24 6f 75 74 70  f test -f "$outp
efd0: 75 74 5f 6f 62 6a 64 69 72 2f 24 73 6f 6e 61 6d  ut_objdir/$sonam
efe0: 65 2d 64 65 66 22 3b 20 74 68 65 6e 20 3a 0a 09  e-def"; then :..
eff0: 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
f000: 24 73 68 6f 77 20 22 65 78 74 72 61 63 74 69 6e  $show "extractin
f010: 67 20 65 78 70 6f 72 74 65 64 20 73 79 6d 62 6f  g exported symbo
f020: 6c 20 6c 69 73 74 20 66 72 6f 6d 20 5c 60 24 73  l list from \`$s
f030: 6f 6e 61 6d 65 27 22 0a 09 20 20 20 20 20 20 73  oname'"..      s
f040: 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20  ave_ifs="$IFS"; 
f050: 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20 20 63  IFS='~'..      c
f060: 6d 64 73 3d 24 65 78 74 72 61 63 74 5f 65 78 70  mds=$extract_exp
f070: 73 79 6d 73 5f 63 6d 64 73 0a 09 20 20 20 20 20  syms_cmds..     
f080: 20 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64   for cmd in $cmd
f090: 73 3b 20 64 6f 0a 09 09 49 46 53 3d 22 24 73 61  s; do...IFS="$sa
f0a0: 76 65 5f 69 66 73 22 0a 09 09 65 76 61 6c 20 63  ve_ifs"...eval c
f0b0: 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 09 24 73  md=\"$cmd\"...$s
f0c0: 68 6f 77 20 22 24 63 6d 64 22 0a 09 09 24 72 75  how "$cmd"...$ru
f0d0: 6e 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c  n eval "$cmd" ||
f0e0: 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20 20 20   exit $?..      
f0f0: 64 6f 6e 65 0a 09 20 20 20 20 20 20 49 46 53 3d  done..      IFS=
f100: 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20  "$save_ifs"..   
f110: 20 66 69 0a 0a 09 20 20 20 20 23 20 43 72 65 61   fi...    # Crea
f120: 74 65 20 24 6e 65 77 6c 69 62 0a 09 20 20 20 20  te $newlib..    
f130: 69 66 20 74 65 73 74 20 2d 66 20 22 24 6f 75 74  if test -f "$out
f140: 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6e 65 77 6c  put_objdir/$newl
f150: 69 62 22 3b 20 74 68 65 6e 20 3a 3b 20 65 6c 73  ib"; then :; els
f160: 65 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22  e..      $show "
f170: 67 65 6e 65 72 61 74 69 6e 67 20 69 6d 70 6f 72  generating impor
f180: 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 5c 60  t library for \`
f190: 24 73 6f 6e 61 6d 65 27 22 0a 09 20 20 20 20 20  $soname'"..     
f1a0: 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22   save_ifs="$IFS"
f1b0: 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20 20  ; IFS='~'..     
f1c0: 20 63 6d 64 73 3d 24 6f 6c 64 5f 61 72 63 68 69   cmds=$old_archi
f1d0: 76 65 5f 66 72 6f 6d 5f 65 78 70 73 79 6d 73 5f  ve_from_expsyms_
f1e0: 63 6d 64 73 0a 09 20 20 20 20 20 20 66 6f 72 20  cmds..      for 
f1f0: 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f  cmd in $cmds; do
f200: 0a 09 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66  ...IFS="$save_if
f210: 73 22 0a 09 09 65 76 61 6c 20 63 6d 64 3d 5c 22  s"...eval cmd=\"
f220: 24 63 6d 64 5c 22 0a 09 09 24 73 68 6f 77 20 22  $cmd\"...$show "
f230: 24 63 6d 64 22 0a 09 09 24 72 75 6e 20 65 76 61  $cmd"...$run eva
f240: 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74  l "$cmd" || exit
f250: 20 24 3f 0a 09 20 20 20 20 20 20 64 6f 6e 65 0a   $?..      done.
f260: 09 20 20 20 20 20 20 49 46 53 3d 22 24 73 61 76  .      IFS="$sav
f270: 65 5f 69 66 73 22 0a 09 20 20 20 20 66 69 0a 09  e_ifs"..    fi..
f280: 20 20 20 20 23 20 6d 61 6b 65 20 73 75 72 65 20      # make sure 
f290: 74 68 65 20 6c 69 62 72 61 72 79 20 76 61 72 69  the library vari
f2a0: 61 62 6c 65 73 20 61 72 65 20 70 6f 69 6e 74 69  ables are pointi
f2b0: 6e 67 20 74 6f 20 74 68 65 20 6e 65 77 20 6c 69  ng to the new li
f2c0: 62 72 61 72 79 0a 09 20 20 20 20 64 69 72 3d 24  brary..    dir=$
f2d0: 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 0a 09 20  output_objdir.. 
f2e0: 20 20 20 6c 69 6e 6b 6c 69 62 3d 24 6e 65 77 6c     linklib=$newl
f2f0: 69 62 0a 09 20 20 66 69 20 23 20 74 65 73 74 20  ib..  fi # test 
f300: 2d 6e 20 22 24 6f 6c 64 5f 61 72 63 68 69 76 65  -n "$old_archive
f310: 5f 66 72 6f 6d 5f 65 78 70 73 79 6d 73 5f 63 6d  _from_expsyms_cm
f320: 64 73 22 0a 0a 09 20 20 69 66 20 74 65 73 74 20  ds"...  if test 
f330: 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70 72  "$linkmode" = pr
f340: 6f 67 20 7c 7c 20 74 65 73 74 20 22 24 6d 6f 64  og || test "$mod
f350: 65 22 20 21 3d 20 72 65 6c 69 6e 6b 3b 20 74 68  e" != relink; th
f360: 65 6e 0a 09 20 20 20 20 61 64 64 5f 73 68 6c 69  en..    add_shli
f370: 62 70 61 74 68 3d 0a 09 20 20 20 20 61 64 64 5f  bpath=..    add_
f380: 64 69 72 3d 0a 09 20 20 20 20 61 64 64 3d 0a 09  dir=..    add=..
f390: 20 20 20 20 6c 69 62 5f 6c 69 6e 6b 65 64 3d 79      lib_linked=y
f3a0: 65 73 0a 09 20 20 20 20 63 61 73 65 20 24 68 61  es..    case $ha
f3b0: 72 64 63 6f 64 65 5f 61 63 74 69 6f 6e 20 69 6e  rdcode_action in
f3c0: 0a 09 20 20 20 20 69 6d 6d 65 64 69 61 74 65 20  ..    immediate 
f3d0: 7c 20 75 6e 73 75 70 70 6f 72 74 65 64 29 0a 09  | unsupported)..
f3e0: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
f3f0: 68 61 72 64 63 6f 64 65 5f 64 69 72 65 63 74 22  hardcode_direct"
f400: 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 61 64   = no; then...ad
f410: 64 3d 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69 62  d="$dir/$linklib
f420: 22 0a 09 09 63 61 73 65 20 24 68 6f 73 74 20 69  "...case $host i
f430: 6e 0a 09 09 20 20 2a 2d 2a 2d 73 63 6f 33 2e 32  n...  *-*-sco3.2
f440: 76 35 2a 20 29 20 61 64 64 5f 64 69 72 3d 22 2d  v5* ) add_dir="-
f450: 4c 24 64 69 72 22 20 3b 3b 0a 09 09 20 20 2a 2d  L$dir" ;;...  *-
f460: 2a 2d 64 61 72 77 69 6e 2a 20 29 0a 09 09 20 20  *-darwin* )...  
f470: 20 20 23 20 69 66 20 74 68 65 20 6c 69 62 20 69    # if the lib i
f480: 73 20 61 20 6d 6f 64 75 6c 65 20 74 68 65 6e 20  s a module then 
f490: 77 65 20 63 61 6e 20 6e 6f 74 20 6c 69 6e 6b 20  we can not link 
f4a0: 61 67 61 69 6e 73 74 20 69 74 2c 20 73 6f 6d 65  against it, some
f4b0: 6f 6e 65 0a 09 09 20 20 20 20 23 20 69 73 20 69  one...    # is i
f4c0: 67 6e 6f 72 69 6e 67 20 74 68 65 20 6e 65 77 20  gnoring the new 
f4d0: 77 61 72 6e 69 6e 67 73 20 49 20 61 64 64 65 64  warnings I added
f4e0: 0a 09 09 20 20 20 20 69 66 20 2f 75 73 72 2f 62  ...    if /usr/b
f4f0: 69 6e 2f 66 69 6c 65 20 2d 4c 20 24 61 64 64 20  in/file -L $add 
f500: 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 67  2> /dev/null | g
f510: 72 65 70 20 22 62 75 6e 64 6c 65 22 20 3e 2f 64  rep "bundle" >/d
f520: 65 76 2f 6e 75 6c 6c 20 3b 20 74 68 65 6e 0a 09  ev/null ; then..
f530: 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a 2a  .      $echo "**
f540: 20 57 61 72 6e 69 6e 67 2c 20 6c 69 62 20 24 6c   Warning, lib $l
f550: 69 6e 6b 6c 69 62 20 69 73 20 61 20 6d 6f 64 75  inklib is a modu
f560: 6c 65 2c 20 6e 6f 74 20 61 20 73 68 61 72 65 64  le, not a shared
f570: 20 6c 69 62 72 61 72 79 22 0a 09 09 20 20 20 20   library"...    
f580: 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6f    if test -z "$o
f590: 6c 64 5f 6c 69 62 72 61 72 79 22 20 3b 20 74 68  ld_library" ; th
f5a0: 65 6e 0a 09 09 20 20 20 20 20 20 20 20 24 65 63  en...        $ec
f5b0: 68 6f 0a 09 09 20 20 20 20 20 20 20 20 24 65 63  ho...        $ec
f5c0: 68 6f 20 22 2a 2a 20 41 6e 64 20 74 68 65 72 65  ho "** And there
f5d0: 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f   doesn't seem to
f5e0: 20 62 65 20 61 20 73 74 61 74 69 63 20 61 72 63   be a static arc
f5f0: 68 69 76 65 20 61 76 61 69 6c 61 62 6c 65 22 0a  hive available".
f600: 09 09 20 20 20 20 20 20 20 20 24 65 63 68 6f 20  ..        $echo 
f610: 22 2a 2a 20 54 68 65 20 6c 69 6e 6b 20 77 69 6c  "** The link wil
f620: 6c 20 70 72 6f 62 61 62 6c 79 20 66 61 69 6c 2c  l probably fail,
f630: 20 73 6f 72 72 79 22 0a 09 09 20 20 20 20 20 20   sorry"...      
f640: 65 6c 73 65 0a 09 09 20 20 20 20 20 20 20 20 61  else...        a
f650: 64 64 3d 22 24 64 69 72 2f 24 6f 6c 64 5f 6c 69  dd="$dir/$old_li
f660: 62 72 61 72 79 22 0a 09 09 20 20 20 20 20 20 66  brary"...      f
f670: 69 20 0a 09 09 20 20 20 20 66 69 0a 09 09 65 73  i ...    fi...es
f680: 61 63 0a 09 20 20 20 20 20 20 65 6c 69 66 20 74  ac..      elif t
f690: 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 6d  est "$hardcode_m
f6a0: 69 6e 75 73 5f 4c 22 20 3d 20 6e 6f 3b 20 74 68  inus_L" = no; th
f6b0: 65 6e 0a 09 09 63 61 73 65 20 24 68 6f 73 74 20  en...case $host 
f6c0: 69 6e 0a 09 09 2a 2d 2a 2d 73 75 6e 6f 73 2a 29  in...*-*-sunos*)
f6d0: 20 61 64 64 5f 73 68 6c 69 62 70 61 74 68 3d 22   add_shlibpath="
f6e0: 24 64 69 72 22 20 3b 3b 0a 09 09 65 73 61 63 0a  $dir" ;;...esac.
f6f0: 09 09 61 64 64 5f 64 69 72 3d 22 2d 4c 24 64 69  ..add_dir="-L$di
f700: 72 22 0a 09 09 61 64 64 3d 22 2d 6c 24 6e 61 6d  r"...add="-l$nam
f710: 65 22 0a 09 20 20 20 20 20 20 65 6c 69 66 20 74  e"..      elif t
f720: 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 73  est "$hardcode_s
f730: 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20 3d 20  hlibpath_var" = 
f740: 6e 6f 3b 20 74 68 65 6e 0a 09 09 61 64 64 5f 73  no; then...add_s
f750: 68 6c 69 62 70 61 74 68 3d 22 24 64 69 72 22 0a  hlibpath="$dir".
f760: 09 09 61 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a  ..add="-l$name".
f770: 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09 6c 69  .      else...li
f780: 62 5f 6c 69 6e 6b 65 64 3d 6e 6f 0a 09 20 20 20  b_linked=no..   
f790: 20 20 20 66 69 0a 09 20 20 20 20 20 20 3b 3b 0a     fi..      ;;.
f7a0: 09 20 20 20 20 72 65 6c 69 6e 6b 29 0a 09 20 20  .    relink)..  
f7b0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 68 61      if test "$ha
f7c0: 72 64 63 6f 64 65 5f 64 69 72 65 63 74 22 20 3d  rdcode_direct" =
f7d0: 20 79 65 73 3b 20 74 68 65 6e 0a 09 09 61 64 64   yes; then...add
f7e0: 3d 22 24 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22  ="$dir/$linklib"
f7f0: 0a 09 20 20 20 20 20 20 65 6c 69 66 20 74 65 73  ..      elif tes
f800: 74 20 22 24 68 61 72 64 63 6f 64 65 5f 6d 69 6e  t "$hardcode_min
f810: 75 73 5f 4c 22 20 3d 20 79 65 73 3b 20 74 68 65  us_L" = yes; the
f820: 6e 0a 09 09 61 64 64 5f 64 69 72 3d 22 2d 4c 24  n...add_dir="-L$
f830: 64 69 72 22 0a 09 09 23 20 54 72 79 20 6c 6f 6f  dir"...# Try loo
f840: 6b 69 6e 67 20 66 69 72 73 74 20 69 6e 20 74 68  king first in th
f850: 65 20 6c 6f 63 61 74 69 6f 6e 20 77 65 27 72 65  e location we're
f860: 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64   being installed
f870: 20 74 6f 2e 0a 09 09 69 66 20 74 65 73 74 20 2d   to....if test -
f880: 6e 20 22 24 69 6e 73 74 5f 70 72 65 66 69 78 5f  n "$inst_prefix_
f890: 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 63  dir"; then...  c
f8a0: 61 73 65 20 22 24 6c 69 62 64 69 72 22 20 69 6e  ase "$libdir" in
f8b0: 0a 09 09 20 20 20 20 5b 5c 5c 2f 5d 2a 29 0a 09  ...    [\\/]*)..
f8c0: 09 20 20 20 20 20 20 61 64 64 5f 64 69 72 3d 22  .      add_dir="
f8d0: 24 61 64 64 5f 64 69 72 20 2d 4c 24 69 6e 73 74  $add_dir -L$inst
f8e0: 5f 70 72 65 66 69 78 5f 64 69 72 24 6c 69 62 64  _prefix_dir$libd
f8f0: 69 72 22 0a 09 09 20 20 20 20 20 20 3b 3b 0a 09  ir"...      ;;..
f900: 09 20 20 65 73 61 63 0a 09 09 66 69 0a 09 09 61  .  esac...fi...a
f910: 64 64 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20  dd="-l$name"..  
f920: 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22 24      elif test "$
f930: 68 61 72 64 63 6f 64 65 5f 73 68 6c 69 62 70 61  hardcode_shlibpa
f940: 74 68 5f 76 61 72 22 20 3d 20 79 65 73 3b 20 74  th_var" = yes; t
f950: 68 65 6e 0a 09 09 61 64 64 5f 73 68 6c 69 62 70  hen...add_shlibp
f960: 61 74 68 3d 22 24 64 69 72 22 0a 09 09 61 64 64  ath="$dir"...add
f970: 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20  ="-l$name"..    
f980: 20 20 65 6c 73 65 0a 09 09 6c 69 62 5f 6c 69 6e    else...lib_lin
f990: 6b 65 64 3d 6e 6f 0a 09 20 20 20 20 20 20 66 69  ked=no..      fi
f9a0: 0a 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20  ..      ;;..    
f9b0: 2a 29 20 6c 69 62 5f 6c 69 6e 6b 65 64 3d 6e 6f  *) lib_linked=no
f9c0: 20 3b 3b 0a 09 20 20 20 20 65 73 61 63 0a 0a 09   ;;..    esac...
f9d0: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6c 69      if test "$li
f9e0: 62 5f 6c 69 6e 6b 65 64 22 20 21 3d 20 79 65 73  b_linked" != yes
f9f0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 24 65  ; then..      $e
fa00: 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
fa10: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 65 72  configuration er
fa20: 72 6f 72 3a 20 75 6e 73 75 70 70 6f 72 74 65 64  ror: unsupported
fa30: 20 68 61 72 64 63 6f 64 65 20 70 72 6f 70 65 72   hardcode proper
fa40: 74 69 65 73 22 0a 09 20 20 20 20 20 20 65 78 69  ties"..      exi
fa50: 74 20 31 0a 09 20 20 20 20 66 69 0a 0a 09 20 20  t 1..    fi...  
fa60: 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61    if test -n "$a
fa70: 64 64 5f 73 68 6c 69 62 70 61 74 68 22 3b 20 74  dd_shlibpath"; t
fa80: 68 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20  hen..      case 
fa90: 3a 24 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70  :$compile_shlibp
faa0: 61 74 68 3a 20 69 6e 0a 09 20 20 20 20 20 20 2a  ath: in..      *
fab0: 22 3a 24 61 64 64 5f 73 68 6c 69 62 70 61 74 68  ":$add_shlibpath
fac0: 3a 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a  :"*) ;;..      *
fad0: 29 20 63 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70  ) compile_shlibp
fae0: 61 74 68 3d 22 24 63 6f 6d 70 69 6c 65 5f 73 68  ath="$compile_sh
faf0: 6c 69 62 70 61 74 68 24 61 64 64 5f 73 68 6c 69  libpath$add_shli
fb00: 62 70 61 74 68 3a 22 20 3b 3b 0a 09 20 20 20 20  bpath:" ;;..    
fb10: 20 20 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09    esac..    fi..
fb20: 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6c 69      if test "$li
fb30: 6e 6b 6d 6f 64 65 22 20 3d 20 70 72 6f 67 3b 20  nkmode" = prog; 
fb40: 74 68 65 6e 0a 09 20 20 20 20 20 20 74 65 73 74  then..      test
fb50: 20 2d 6e 20 22 24 61 64 64 5f 64 69 72 22 20 26   -n "$add_dir" &
fb60: 26 20 63 6f 6d 70 69 6c 65 5f 64 65 70 6c 69 62  & compile_deplib
fb70: 73 3d 22 24 61 64 64 5f 64 69 72 20 24 63 6f 6d  s="$add_dir $com
fb80: 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09 20  pile_deplibs".. 
fb90: 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 61       test -n "$a
fba0: 64 64 22 20 26 26 20 63 6f 6d 70 69 6c 65 5f 64  dd" && compile_d
fbb0: 65 70 6c 69 62 73 3d 22 24 61 64 64 20 24 63 6f  eplibs="$add $co
fbc0: 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09  mpile_deplibs"..
fbd0: 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
fbe0: 74 65 73 74 20 2d 6e 20 22 24 61 64 64 5f 64 69  test -n "$add_di
fbf0: 72 22 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24  r" && deplibs="$
fc00: 61 64 64 5f 64 69 72 20 24 64 65 70 6c 69 62 73  add_dir $deplibs
fc10: 22 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  "..      test -n
fc20: 20 22 24 61 64 64 22 20 26 26 20 64 65 70 6c 69   "$add" && depli
fc30: 62 73 3d 22 24 61 64 64 20 24 64 65 70 6c 69 62  bs="$add $deplib
fc40: 73 22 0a 09 20 20 20 20 20 20 69 66 20 74 65 73  s"..      if tes
fc50: 74 20 22 24 68 61 72 64 63 6f 64 65 5f 64 69 72  t "$hardcode_dir
fc60: 65 63 74 22 20 21 3d 20 79 65 73 20 26 26 20 5c  ect" != yes && \
fc70: 0a 09 09 20 74 65 73 74 20 22 24 68 61 72 64 63  ... test "$hardc
fc80: 6f 64 65 5f 6d 69 6e 75 73 5f 4c 22 20 21 3d 20  ode_minus_L" != 
fc90: 79 65 73 20 26 26 20 5c 0a 09 09 20 74 65 73 74  yes && \... test
fca0: 20 22 24 68 61 72 64 63 6f 64 65 5f 73 68 6c 69   "$hardcode_shli
fcb0: 62 70 61 74 68 5f 76 61 72 22 20 3d 20 79 65 73  bpath_var" = yes
fcc0: 3b 20 74 68 65 6e 0a 09 09 63 61 73 65 20 3a 24  ; then...case :$
fcd0: 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61  finalize_shlibpa
fce0: 74 68 3a 20 69 6e 0a 09 09 2a 22 3a 24 6c 69 62  th: in...*":$lib
fcf0: 64 69 72 3a 22 2a 29 20 3b 3b 0a 09 09 2a 29 20  dir:"*) ;;...*) 
fd00: 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61  finalize_shlibpa
fd10: 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68  th="$finalize_sh
fd20: 6c 69 62 70 61 74 68 24 6c 69 62 64 69 72 3a 22  libpath$libdir:"
fd30: 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20 20   ;;...esac..    
fd40: 20 20 66 69 0a 09 20 20 20 20 66 69 0a 09 20 20    fi..    fi..  
fd50: 66 69 0a 0a 09 20 20 69 66 20 74 65 73 74 20 22  fi...  if test "
fd60: 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70 72 6f  $linkmode" = pro
fd70: 67 20 7c 7c 20 74 65 73 74 20 22 24 6d 6f 64 65  g || test "$mode
fd80: 22 20 3d 20 72 65 6c 69 6e 6b 3b 20 74 68 65 6e  " = relink; then
fd90: 0a 09 20 20 20 20 61 64 64 5f 73 68 6c 69 62 70  ..    add_shlibp
fda0: 61 74 68 3d 0a 09 20 20 20 20 61 64 64 5f 64 69  ath=..    add_di
fdb0: 72 3d 0a 09 20 20 20 20 61 64 64 3d 0a 09 20 20  r=..    add=..  
fdc0: 20 20 23 20 46 69 6e 61 6c 69 7a 65 20 63 6f 6d    # Finalize com
fdd0: 6d 61 6e 64 20 66 6f 72 20 62 6f 74 68 20 69 73  mand for both is
fde0: 20 73 69 6d 70 6c 65 3a 20 6a 75 73 74 20 68 61   simple: just ha
fdf0: 72 64 63 6f 64 65 20 69 74 2e 0a 09 20 20 20 20  rdcode it...    
fe00: 69 66 20 74 65 73 74 20 22 24 68 61 72 64 63 6f  if test "$hardco
fe10: 64 65 5f 64 69 72 65 63 74 22 20 3d 20 79 65 73  de_direct" = yes
fe20: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 61 64  ; then..      ad
fe30: 64 3d 22 24 6c 69 62 64 69 72 2f 24 6c 69 6e 6b  d="$libdir/$link
fe40: 6c 69 62 22 0a 09 20 20 20 20 65 6c 69 66 20 74  lib"..    elif t
fe50: 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 6d  est "$hardcode_m
fe60: 69 6e 75 73 5f 4c 22 20 3d 20 79 65 73 3b 20 74  inus_L" = yes; t
fe70: 68 65 6e 0a 09 20 20 20 20 20 20 61 64 64 5f 64  hen..      add_d
fe80: 69 72 3d 22 2d 4c 24 6c 69 62 64 69 72 22 0a 09  ir="-L$libdir"..
fe90: 20 20 20 20 20 20 61 64 64 3d 22 2d 6c 24 6e 61        add="-l$na
fea0: 6d 65 22 0a 09 20 20 20 20 65 6c 69 66 20 74 65  me"..    elif te
feb0: 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 73 68  st "$hardcode_sh
fec0: 6c 69 62 70 61 74 68 5f 76 61 72 22 20 3d 20 79  libpath_var" = y
fed0: 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  es; then..      
fee0: 63 61 73 65 20 3a 24 66 69 6e 61 6c 69 7a 65 5f  case :$finalize_
fef0: 73 68 6c 69 62 70 61 74 68 3a 20 69 6e 0a 09 20  shlibpath: in.. 
ff00: 20 20 20 20 20 2a 22 3a 24 6c 69 62 64 69 72 3a       *":$libdir:
ff10: 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20 20 2a 29  "*) ;;..      *)
ff20: 20 66 69 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70   finalize_shlibp
ff30: 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 73  ath="$finalize_s
ff40: 68 6c 69 62 70 61 74 68 24 6c 69 62 64 69 72 3a  hlibpath$libdir:
ff50: 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  " ;;..      esac
ff60: 0a 09 20 20 20 20 20 20 61 64 64 3d 22 2d 6c 24  ..      add="-l$
ff70: 6e 61 6d 65 22 0a 09 20 20 20 20 65 6c 69 66 20  name"..    elif 
ff80: 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f  test "$hardcode_
ff90: 61 75 74 6f 6d 61 74 69 63 22 20 3d 20 79 65 73  automatic" = yes
ffa0: 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 69 66  ; then..      if
ffb0: 20 74 65 73 74 20 2d 6e 20 22 24 69 6e 73 74 5f   test -n "$inst_
ffc0: 70 72 65 66 69 78 5f 64 69 72 22 20 26 26 20 74  prefix_dir" && t
ffd0: 65 73 74 20 2d 66 20 22 24 69 6e 73 74 5f 70 72  est -f "$inst_pr
ffe0: 65 66 69 78 5f 64 69 72 24 6c 69 62 64 69 72 2f  efix_dir$libdir/
fff0: 24 6c 69 6e 6b 6c 69 62 22 20 3b 20 74 68 65 6e  $linklib" ; then
10000 0a 09 20 20 20 20 20 20 20 20 61 64 64 3d 22 24  ..        add="$
10010 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 24  inst_prefix_dir$
10020 6c 69 62 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 22  libdir/$linklib"
10030 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09 20 20  ..      else..  
10040 20 20 20 20 20 20 61 64 64 3d 22 24 6c 69 62 64        add="$libd
10050 69 72 2f 24 6c 69 6e 6b 6c 69 62 22 0a 09 20 20  ir/$linklib"..  
10060 20 20 20 20 66 69 0a 09 20 20 20 20 65 6c 73 65      fi..    else
10070 0a 09 20 20 20 20 20 20 23 20 57 65 20 63 61 6e  ..      # We can
10080 6e 6f 74 20 73 65 65 6d 20 74 6f 20 68 61 72 64  not seem to hard
10090 63 6f 64 65 20 69 74 2c 20 67 75 65 73 73 20 77  code it, guess w
100a0 65 27 6c 6c 20 66 61 6b 65 20 69 74 2e 0a 09 20  e'll fake it... 
100b0 20 20 20 20 20 61 64 64 5f 64 69 72 3d 22 2d 4c       add_dir="-L
100c0 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20 20 20  $libdir"..      
100d0 23 20 54 72 79 20 6c 6f 6f 6b 69 6e 67 20 66 69  # Try looking fi
100e0 72 73 74 20 69 6e 20 74 68 65 20 6c 6f 63 61 74  rst in the locat
100f0 69 6f 6e 20 77 65 27 72 65 20 62 65 69 6e 67 20  ion we're being 
10100 69 6e 73 74 61 6c 6c 65 64 20 74 6f 2e 0a 09 20  installed to... 
10110 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20       if test -n 
10120 22 24 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69  "$inst_prefix_di
10130 72 22 3b 20 74 68 65 6e 0a 09 09 63 61 73 65 20  r"; then...case 
10140 22 24 6c 69 62 64 69 72 22 20 69 6e 0a 09 09 20  "$libdir" in... 
10150 20 5b 5c 5c 2f 5d 2a 29 0a 09 09 20 20 20 20 61   [\\/]*)...    a
10160 64 64 5f 64 69 72 3d 22 24 61 64 64 5f 64 69 72  dd_dir="$add_dir
10170 20 2d 4c 24 69 6e 73 74 5f 70 72 65 66 69 78 5f   -L$inst_prefix_
10180 64 69 72 24 6c 69 62 64 69 72 22 0a 09 09 20 20  dir$libdir"...  
10190 20 20 3b 3b 0a 09 09 65 73 61 63 0a 09 20 20 20    ;;...esac..   
101a0 20 20 20 66 69 0a 09 20 20 20 20 20 20 61 64 64     fi..      add
101b0 3d 22 2d 6c 24 6e 61 6d 65 22 0a 09 20 20 20 20  ="-l$name"..    
101c0 66 69 0a 0a 09 20 20 20 20 69 66 20 74 65 73 74  fi...    if test
101d0 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 70   "$linkmode" = p
101e0 72 6f 67 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  rog; then..     
101f0 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 5f 64   test -n "$add_d
10200 69 72 22 20 26 26 20 66 69 6e 61 6c 69 7a 65 5f  ir" && finalize_
10210 64 65 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69  deplibs="$add_di
10220 72 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c  r $finalize_depl
10230 69 62 73 22 0a 09 20 20 20 20 20 20 74 65 73 74  ibs"..      test
10240 20 2d 6e 20 22 24 61 64 64 22 20 26 26 20 66 69   -n "$add" && fi
10250 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22  nalize_deplibs="
10260 24 61 64 64 20 24 66 69 6e 61 6c 69 7a 65 5f 64  $add $finalize_d
10270 65 70 6c 69 62 73 22 0a 09 20 20 20 20 65 6c 73  eplibs"..    els
10280 65 0a 09 20 20 20 20 20 20 74 65 73 74 20 2d 6e  e..      test -n
10290 20 22 24 61 64 64 5f 64 69 72 22 20 26 26 20 64   "$add_dir" && d
102a0 65 70 6c 69 62 73 3d 22 24 61 64 64 5f 64 69 72  eplibs="$add_dir
102b0 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20   $deplibs"..    
102c0 20 20 74 65 73 74 20 2d 6e 20 22 24 61 64 64 22    test -n "$add"
102d0 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24 61 64   && deplibs="$ad
102e0 64 20 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20  d $deplibs"..   
102f0 20 66 69 0a 09 20 20 66 69 0a 09 65 6c 69 66 20   fi..  fi..elif 
10300 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65 22  test "$linkmode"
10310 20 3d 20 70 72 6f 67 3b 20 74 68 65 6e 0a 09 20   = prog; then.. 
10320 20 23 20 48 65 72 65 20 77 65 20 61 73 73 75 6d   # Here we assum
10330 65 20 74 68 61 74 20 6f 6e 65 20 6f 66 20 68 61  e that one of ha
10340 72 64 63 6f 64 65 5f 64 69 72 65 63 74 20 6f 72  rdcode_direct or
10350 20 68 61 72 64 63 6f 64 65 5f 6d 69 6e 75 73 5f   hardcode_minus_
10360 4c 0a 09 20 20 23 20 69 73 20 6e 6f 74 20 75 6e  L..  # is not un
10370 73 75 70 70 6f 72 74 65 64 2e 20 20 54 68 69 73  supported.  This
10380 20 69 73 20 76 61 6c 69 64 20 6f 6e 20 61 6c 6c   is valid on all
10390 20 6b 6e 6f 77 6e 20 73 74 61 74 69 63 20 61 6e   known static an
103a0 64 0a 09 20 20 23 20 73 68 61 72 65 64 20 70 6c  d..  # shared pl
103b0 61 74 66 6f 72 6d 73 2e 0a 09 20 20 69 66 20 74  atforms...  if t
103c0 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 64  est "$hardcode_d
103d0 69 72 65 63 74 22 20 21 3d 20 75 6e 73 75 70 70  irect" != unsupp
103e0 6f 72 74 65 64 3b 20 74 68 65 6e 0a 09 20 20 20  orted; then..   
103f0 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c   test -n "$old_l
10400 69 62 72 61 72 79 22 20 26 26 20 6c 69 6e 6b 6c  ibrary" && linkl
10410 69 62 3d 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79  ib="$old_library
10420 22 0a 09 20 20 20 20 63 6f 6d 70 69 6c 65 5f 64  "..    compile_d
10430 65 70 6c 69 62 73 3d 22 24 64 69 72 2f 24 6c 69  eplibs="$dir/$li
10440 6e 6b 6c 69 62 20 24 63 6f 6d 70 69 6c 65 5f 64  nklib $compile_d
10450 65 70 6c 69 62 73 22 0a 09 20 20 20 20 66 69 6e  eplibs"..    fin
10460 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 3d 22 24  alize_deplibs="$
10470 64 69 72 2f 24 6c 69 6e 6b 6c 69 62 20 24 66 69  dir/$linklib $fi
10480 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a  nalize_deplibs".
10490 09 20 20 65 6c 73 65 0a 09 20 20 20 20 63 6f 6d  .  else..    com
104a0 70 69 6c 65 5f 64 65 70 6c 69 62 73 3d 22 2d 6c  pile_deplibs="-l
104b0 24 6e 61 6d 65 20 2d 4c 24 64 69 72 20 24 63 6f  $name -L$dir $co
104c0 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 22 0a 09  mpile_deplibs"..
104d0 20 20 20 20 66 69 6e 61 6c 69 7a 65 5f 64 65 70      finalize_dep
104e0 6c 69 62 73 3d 22 2d 6c 24 6e 61 6d 65 20 2d 4c  libs="-l$name -L
104f0 24 64 69 72 20 24 66 69 6e 61 6c 69 7a 65 5f 64  $dir $finalize_d
10500 65 70 6c 69 62 73 22 0a 09 20 20 66 69 0a 09 65  eplibs"..  fi..e
10510 6c 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64  lif test "$build
10520 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d  _libtool_libs" =
10530 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23 20   yes; then..  # 
10540 4e 6f 74 20 61 20 73 68 61 72 65 64 20 6c 69 62  Not a shared lib
10550 72 61 72 79 0a 09 20 20 69 66 20 74 65 73 74 20  rary..  if test 
10560 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f  "$deplibs_check_
10570 6d 65 74 68 6f 64 22 20 21 3d 20 70 61 73 73 5f  method" != pass_
10580 61 6c 6c 3b 20 74 68 65 6e 0a 09 20 20 20 20 23  all; then..    #
10590 20 57 65 27 72 65 20 74 72 79 69 6e 67 20 6c 69   We're trying li
105a0 6e 6b 20 61 20 73 68 61 72 65 64 20 6c 69 62 72  nk a shared libr
105b0 61 72 79 20 61 67 61 69 6e 73 74 20 61 20 73 74  ary against a st
105c0 61 74 69 63 20 6f 6e 65 0a 09 20 20 20 20 23 20  atic one..    # 
105d0 62 75 74 20 74 68 65 20 73 79 73 74 65 6d 20 64  but the system d
105e0 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 69  oesn't support i
105f0 74 2e 0a 0a 09 20 20 20 20 23 20 4a 75 73 74 20  t....    # Just 
10600 70 72 69 6e 74 20 61 20 77 61 72 6e 69 6e 67 20  print a warning 
10610 61 6e 64 20 61 64 64 20 74 68 65 20 6c 69 62 72  and add the libr
10620 61 72 79 20 74 6f 20 64 65 70 65 6e 64 65 6e 63  ary to dependenc
10630 79 5f 6c 69 62 73 20 73 6f 0a 09 20 20 20 20 23  y_libs so..    #
10640 20 74 68 61 74 20 74 68 65 20 70 72 6f 67 72 61   that the progra
10650 6d 20 63 61 6e 20 62 65 20 6c 69 6e 6b 65 64 20  m can be linked 
10660 61 67 61 69 6e 73 74 20 74 68 65 20 73 74 61 74  against the stat
10670 69 63 20 6c 69 62 72 61 72 79 2e 0a 09 20 20 20  ic library...   
10680 20 24 65 63 68 6f 0a 09 20 20 20 20 24 65 63 68   $echo..    $ech
10690 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
106a0 54 68 69 73 20 73 79 73 74 65 6d 20 63 61 6e 20  This system can 
106b0 6e 6f 74 20 6c 69 6e 6b 20 74 6f 20 73 74 61 74  not link to stat
106c0 69 63 20 6c 69 62 20 61 72 63 68 69 76 65 20 24  ic lib archive $
106d0 6c 69 62 2e 22 0a 09 20 20 20 20 24 65 63 68 6f  lib."..    $echo
106e0 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68 65   "*** I have the
106f0 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 6d   capability to m
10700 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72 79  ake that library
10710 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c   automatically l
10720 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 20 20  ink in when"..  
10730 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75    $echo "*** you
10740 20 6c 69 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69   link to this li
10750 62 72 61 72 79 2e 20 20 42 75 74 20 49 20 63 61  brary.  But I ca
10760 6e 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69  n only do this i
10770 66 20 79 6f 75 20 68 61 76 65 20 61 22 0a 09 20  f you have a".. 
10780 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 73 68     $echo "*** sh
10790 61 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20  ared version of 
107a0 74 68 65 20 6c 69 62 72 61 72 79 2c 20 77 68 69  the library, whi
107b0 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 70  ch you do not ap
107c0 70 65 61 72 20 74 6f 20 68 61 76 65 2e 22 0a 09  pear to have."..
107d0 20 20 20 20 69 66 20 74 65 73 74 20 22 24 6d 6f      if test "$mo
107e0 64 75 6c 65 22 20 3d 20 79 65 73 3b 20 74 68 65  dule" = yes; the
107f0 6e 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  n..      $echo "
10800 2a 2a 2a 20 42 75 74 20 61 73 20 79 6f 75 20 74  *** But as you t
10810 72 79 20 74 6f 20 62 75 69 6c 64 20 61 20 6d 6f  ry to build a mo
10820 64 75 6c 65 20 6c 69 62 72 61 72 79 2c 20 6c 69  dule library, li
10830 62 74 6f 6f 6c 20 77 69 6c 6c 20 73 74 69 6c 6c  btool will still
10840 20 63 72 65 61 74 65 20 22 0a 09 20 20 20 20 20   create "..     
10850 20 24 65 63 68 6f 20 22 2a 2a 2a 20 61 20 73 74   $echo "*** a st
10860 61 74 69 63 20 6d 6f 64 75 6c 65 2c 20 74 68 61  atic module, tha
10870 74 20 73 68 6f 75 6c 64 20 77 6f 72 6b 20 61 73  t should work as
10880 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 64 6c 6f   long as the dlo
10890 70 65 6e 69 6e 67 20 61 70 70 6c 69 63 61 74 69  pening applicati
108a0 6f 6e 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f  on"..      $echo
108b0 20 22 2a 2a 2a 20 69 73 20 6c 69 6e 6b 65 64 20   "*** is linked 
108c0 77 69 74 68 20 74 68 65 20 2d 64 6c 6f 70 65 6e  with the -dlopen
108d0 20 66 6c 61 67 20 74 6f 20 72 65 73 6f 6c 76 65   flag to resolve
108e0 20 73 79 6d 62 6f 6c 73 20 61 74 20 72 75 6e 74   symbols at runt
108f0 69 6d 65 2e 22 0a 09 20 20 20 20 20 20 69 66 20  ime."..      if 
10900 74 65 73 74 20 2d 7a 20 22 24 67 6c 6f 62 61 6c  test -z "$global
10910 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 22 3b 20 74  _symbol_pipe"; t
10920 68 65 6e 0a 09 09 24 65 63 68 6f 0a 09 09 24 65  hen...$echo...$e
10930 63 68 6f 20 22 2a 2a 2a 20 48 6f 77 65 76 65 72  cho "*** However
10940 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 6f 6e 6c  , this would onl
10950 79 20 77 6f 72 6b 20 69 66 20 6c 69 62 74 6f 6f  y work if libtoo
10960 6c 20 77 61 73 20 61 62 6c 65 20 74 6f 20 65 78  l was able to ex
10970 74 72 61 63 74 20 73 79 6d 62 6f 6c 22 0a 09 09  tract symbol"...
10980 24 65 63 68 6f 20 22 2a 2a 2a 20 6c 69 73 74 73  $echo "*** lists
10990 20 66 72 6f 6d 20 61 20 70 72 6f 67 72 61 6d 2c   from a program,
109a0 20 75 73 69 6e 67 20 5c 60 6e 6d 27 20 6f 72 20   using \`nm' or 
109b0 65 71 75 69 76 61 6c 65 6e 74 2c 20 62 75 74 20  equivalent, but 
109c0 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64 22 0a 09  libtool could"..
109d0 09 24 65 63 68 6f 20 22 2a 2a 2a 20 6e 6f 74 20  .$echo "*** not 
109e0 66 69 6e 64 20 73 75 63 68 20 61 20 70 72 6f 67  find such a prog
109f0 72 61 6d 2e 20 20 53 6f 2c 20 74 68 69 73 20 6d  ram.  So, this m
10a00 6f 64 75 6c 65 20 69 73 20 70 72 6f 62 61 62 6c  odule is probabl
10a10 79 20 75 73 65 6c 65 73 73 2e 22 0a 09 09 24 65  y useless."...$e
10a20 63 68 6f 20 22 2a 2a 2a 20 5c 60 6e 6d 27 20 66  cho "*** \`nm' f
10a30 72 6f 6d 20 47 4e 55 20 62 69 6e 75 74 69 6c 73  rom GNU binutils
10a40 20 61 6e 64 20 61 20 66 75 6c 6c 20 72 65 62 75   and a full rebu
10a50 69 6c 64 20 6d 61 79 20 68 65 6c 70 2e 22 0a 09  ild may help."..
10a60 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 20 20        fi..      
10a70 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
10a80 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 6e 6f 3b 20  old_libs" = no; 
10a90 74 68 65 6e 0a 09 09 62 75 69 6c 64 5f 6c 69 62  then...build_lib
10aa0 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64 75 6c 65  tool_libs=module
10ab0 0a 09 09 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62  ...build_old_lib
10ac0 73 3d 79 65 73 0a 09 20 20 20 20 20 20 65 6c 73  s=yes..      els
10ad0 65 0a 09 09 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  e...build_libtoo
10ae0 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20 20 20 20  l_libs=no..     
10af0 20 66 69 0a 09 20 20 20 20 66 69 0a 09 20 20 65   fi..    fi..  e
10b00 6c 73 65 0a 09 20 20 20 20 63 6f 6e 76 65 6e 69  lse..    conveni
10b10 65 6e 63 65 3d 22 24 63 6f 6e 76 65 6e 69 65 6e  ence="$convenien
10b20 63 65 20 24 64 69 72 2f 24 6f 6c 64 5f 6c 69 62  ce $dir/$old_lib
10b30 72 61 72 79 22 0a 09 20 20 20 20 6f 6c 64 5f 63  rary"..    old_c
10b40 6f 6e 76 65 6e 69 65 6e 63 65 3d 22 24 6f 6c 64  onvenience="$old
10b50 5f 63 6f 6e 76 65 6e 69 65 6e 63 65 20 24 64 69  _convenience $di
10b60 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 0a  r/$old_library".
10b70 09 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24 64  .    deplibs="$d
10b80 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72 79 20  ir/$old_library 
10b90 24 64 65 70 6c 69 62 73 22 0a 09 20 20 20 20 6c  $deplibs"..    l
10ba0 69 6e 6b 5f 73 74 61 74 69 63 3d 79 65 73 0a 09  ink_static=yes..
10bb0 20 20 66 69 0a 09 66 69 20 23 20 6c 69 6e 6b 20    fi..fi # link 
10bc0 73 68 61 72 65 64 2f 73 74 61 74 69 63 20 6c 69  shared/static li
10bd0 62 72 61 72 79 3f 0a 0a 09 69 66 20 74 65 73 74  brary?...if test
10be0 20 22 24 6c 69 6e 6b 6d 6f 64 65 22 20 3d 20 6c   "$linkmode" = l
10bf0 69 62 3b 20 74 68 65 6e 0a 09 20 20 69 66 20 74  ib; then..  if t
10c00 65 73 74 20 2d 6e 20 22 24 64 65 70 65 6e 64 65  est -n "$depende
10c10 6e 63 79 5f 6c 69 62 73 22 20 26 26 0a 09 20 20  ncy_libs" &&..  
10c20 20 20 20 7b 20 74 65 73 74 20 22 24 68 61 72 64     { test "$hard
10c30 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62 73 22 20  code_into_libs" 
10c40 21 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20 22  != yes || test "
10c50 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22  $build_old_libs"
10c60 20 3d 20 79 65 73 20 7c 7c 0a 09 20 20 20 20 20   = yes ||..     
10c70 20 20 74 65 73 74 20 22 24 6c 69 6e 6b 5f 73 74    test "$link_st
10c80 61 74 69 63 22 20 3d 20 79 65 73 3b 20 7d 3b 20  atic" = yes; }; 
10c90 74 68 65 6e 0a 09 20 20 20 20 23 20 45 78 74 72  then..    # Extr
10ca0 61 63 74 20 2d 52 20 66 72 6f 6d 20 64 65 70 65  act -R from depe
10cb0 6e 64 65 6e 63 79 5f 6c 69 62 73 0a 09 20 20 20  ndency_libs..   
10cc0 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 0a 09   temp_deplibs=..
10cd0 20 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69      for libdir i
10ce0 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  n $dependency_li
10cf0 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 63 61  bs; do..      ca
10d00 73 65 20 24 6c 69 62 64 69 72 20 69 6e 0a 09 20  se $libdir in.. 
10d10 20 20 20 20 20 2d 52 2a 29 20 74 65 6d 70 5f 78       -R*) temp_x
10d20 72 70 61 74 68 3d 60 24 65 63 68 6f 20 22 58 24  rpath=`$echo "X$
10d30 6c 69 62 64 69 72 22 20 7c 20 24 58 73 65 64 20  libdir" | $Xsed 
10d40 2d 65 20 27 73 2f 5e 2d 52 2f 2f 27 60 0a 09 09  -e 's/^-R//'`...
10d50 20 20 20 63 61 73 65 20 22 20 24 78 72 70 61 74     case " $xrpat
10d60 68 20 22 20 69 6e 0a 09 09 20 20 20 2a 22 20 24  h " in...   *" $
10d70 74 65 6d 70 5f 78 72 70 61 74 68 20 22 2a 29 20  temp_xrpath "*) 
10d80 3b 3b 0a 09 09 20 20 20 2a 29 20 78 72 70 61 74  ;;...   *) xrpat
10d90 68 3d 22 24 78 72 70 61 74 68 20 24 74 65 6d 70  h="$xrpath $temp
10da0 5f 78 72 70 61 74 68 22 3b 3b 0a 09 09 20 20 20  _xrpath";;...   
10db0 65 73 61 63 3b 3b 0a 09 20 20 20 20 20 20 2a 29  esac;;..      *)
10dc0 20 74 65 6d 70 5f 64 65 70 6c 69 62 73 3d 22 24   temp_deplibs="$
10dd0 74 65 6d 70 5f 64 65 70 6c 69 62 73 20 24 6c 69  temp_deplibs $li
10de0 62 64 69 72 22 3b 3b 0a 09 20 20 20 20 20 20 65  bdir";;..      e
10df0 73 61 63 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20  sac..    done.. 
10e00 20 20 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69     dependency_li
10e10 62 73 3d 22 24 74 65 6d 70 5f 64 65 70 6c 69 62  bs="$temp_deplib
10e20 73 22 0a 09 20 20 66 69 0a 0a 09 20 20 6e 65 77  s"..  fi...  new
10e30 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d  lib_search_path=
10e40 22 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f  "$newlib_search_
10e50 70 61 74 68 20 24 61 62 73 64 69 72 22 0a 09 20  path $absdir".. 
10e60 20 23 20 4c 69 6e 6b 20 61 67 61 69 6e 73 74 20   # Link against 
10e70 74 68 69 73 20 6c 69 62 72 61 72 79 0a 09 20 20  this library..  
10e80 74 65 73 74 20 22 24 6c 69 6e 6b 5f 73 74 61 74  test "$link_stat
10e90 69 63 22 20 3d 20 6e 6f 20 26 26 20 6e 65 77 64  ic" = no && newd
10ea0 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22  ependency_libs="
10eb0 24 61 62 73 5f 6c 61 64 69 72 2f 24 6c 61 6e 61  $abs_ladir/$lana
10ec0 6d 65 20 24 6e 65 77 64 65 70 65 6e 64 65 6e 63  me $newdependenc
10ed0 79 5f 6c 69 62 73 22 0a 09 20 20 23 20 2e 2e 2e  y_libs"..  # ...
10ee0 20 61 6e 64 20 69 74 73 20 64 65 70 65 6e 64 65   and its depende
10ef0 6e 63 79 5f 6c 69 62 73 0a 09 20 20 74 6d 70 5f  ncy_libs..  tmp_
10f00 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70  libs=..  for dep
10f10 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
10f20 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
10f30 20 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c   newdependency_l
10f40 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65  ibs="$deplib $ne
10f50 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
10f60 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  "..    if test "
10f70 58 24 64 75 70 6c 69 63 61 74 65 5f 64 65 70 73  X$duplicate_deps
10f80 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
10f90 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 24  n..      case "$
10fa0 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e 0a 09 20  tmp_libs " in.. 
10fb0 20 20 20 20 20 2a 22 20 24 64 65 70 6c 69 62 20       *" $deplib 
10fc0 22 2a 29 20 73 70 65 63 69 61 6c 64 65 70 6c 69  "*) specialdepli
10fd0 62 73 3d 22 24 73 70 65 63 69 61 6c 64 65 70 6c  bs="$specialdepl
10fe0 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a  ibs $deplib" ;;.
10ff0 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
11000 20 66 69 0a 09 20 20 20 20 74 6d 70 5f 6c 69 62   fi..    tmp_lib
11010 73 3d 22 24 74 6d 70 5f 6c 69 62 73 20 24 64 65  s="$tmp_libs $de
11020 70 6c 69 62 22 0a 09 20 20 64 6f 6e 65 0a 0a 09  plib"..  done...
11030 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b    if test "$link
11040 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 22 20 21 3d  _all_deplibs" !=
11050 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 23   no; then..    #
11060 20 41 64 64 20 74 68 65 20 73 65 61 72 63 68 20   Add the search 
11070 70 61 74 68 73 20 6f 66 20 61 6c 6c 20 64 65 70  paths of all dep
11080 65 6e 64 65 6e 63 79 20 6c 69 62 72 61 72 69 65  endency librarie
11090 73 0a 09 20 20 20 20 66 6f 72 20 64 65 70 6c 69  s..    for depli
110a0 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e 63 79  b in $dependency
110b0 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20  _libs; do..     
110c0 20 63 61 73 65 20 24 64 65 70 6c 69 62 20 69 6e   case $deplib in
110d0 0a 09 20 20 20 20 20 20 2d 4c 2a 29 20 70 61 74  ..      -L*) pat
110e0 68 3d 22 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09  h="$deplib" ;;..
110f0 20 20 20 20 20 20 2a 2e 6c 61 29 0a 09 09 64 69        *.la)...di
11100 72 3d 60 24 65 63 68 6f 20 22 58 24 64 65 70 6c  r=`$echo "X$depl
11110 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ib" | $Xsed -e '
11120 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 09  s%/[^/]*$%%'`...
11130 74 65 73 74 20 22 58 24 64 69 72 22 20 3d 20 22  test "X$dir" = "
11140 58 24 64 65 70 6c 69 62 22 20 26 26 20 64 69 72  X$deplib" && dir
11150 3d 22 2e 22 0a 09 09 23 20 57 65 20 6e 65 65 64  ="."...# We need
11160 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74   an absolute pat
11170 68 2e 0a 09 09 63 61 73 65 20 24 64 69 72 20 69  h....case $dir i
11180 6e 0a 09 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d  n...[\\/]* | [A-
11190 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62  Za-z]:[\\/]*) ab
111a0 73 64 69 72 3d 22 24 64 69 72 22 20 3b 3b 0a 09  sdir="$dir" ;;..
111b0 09 2a 29 0a 09 09 20 20 61 62 73 64 69 72 3d 60  .*)...  absdir=`
111c0 63 64 20 22 24 64 69 72 22 20 26 26 20 70 77 64  cd "$dir" && pwd
111d0 60 0a 09 09 20 20 69 66 20 74 65 73 74 20 2d 7a  `...  if test -z
111e0 20 22 24 61 62 73 64 69 72 22 3b 20 74 68 65 6e   "$absdir"; then
111f0 0a 09 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d  ...    $echo "$m
11200 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
11210 3a 20 63 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69  : cannot determi
11220 6e 65 20 61 62 73 6f 6c 75 74 65 20 64 69 72 65  ne absolute dire
11230 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66 20 5c 60  ctory name of \`
11240 24 64 69 72 27 22 20 31 3e 26 32 0a 09 09 20 20  $dir'" 1>&2...  
11250 20 20 61 62 73 64 69 72 3d 22 24 64 69 72 22 0a    absdir="$dir".
11260 09 09 20 20 66 69 0a 09 09 20 20 3b 3b 0a 09 09  ..  fi...  ;;...
11270 65 73 61 63 0a 09 09 69 66 20 67 72 65 70 20 22  esac...if grep "
11280 5e 69 6e 73 74 61 6c 6c 65 64 3d 6e 6f 22 20 24  ^installed=no" $
11290 64 65 70 6c 69 62 20 3e 20 2f 64 65 76 2f 6e 75  deplib > /dev/nu
112a0 6c 6c 3b 20 74 68 65 6e 0a 09 09 20 20 70 61 74  ll; then...  pat
112b0 68 3d 22 24 61 62 73 64 69 72 2f 24 6f 62 6a 64  h="$absdir/$objd
112c0 69 72 22 0a 09 09 65 6c 73 65 0a 09 09 20 20 65  ir"...else...  e
112d0 76 61 6c 20 6c 69 62 64 69 72 3d 60 24 7b 53 45  val libdir=`${SE
112e0 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62  D} -n -e 's/^lib
112f0 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c 31 2f 70  dir=\(.*\)$/\1/p
11300 27 20 24 64 65 70 6c 69 62 60 0a 09 09 20 20 69  ' $deplib`...  i
11310 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62 64  f test -z "$libd
11320 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 20 20  ir"; then...    
11330 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
11340 3a 20 5c 60 24 64 65 70 6c 69 62 27 20 69 73 20  : \`$deplib' is 
11350 6e 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74  not a valid libt
11360 6f 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26  ool archive" 1>&
11370 32 0a 09 09 20 20 20 20 65 78 69 74 20 31 0a 09  2...    exit 1..
11380 09 20 20 66 69 0a 09 09 20 20 69 66 20 74 65 73  .  fi...  if tes
11390 74 20 22 24 61 62 73 64 69 72 22 20 21 3d 20 22  t "$absdir" != "
113a0 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09  $libdir"; then..
113b0 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  .    $echo "$mod
113c0 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
113d0 5c 60 24 64 65 70 6c 69 62 27 20 73 65 65 6d 73  \`$deplib' seems
113e0 20 74 6f 20 62 65 20 6d 6f 76 65 64 22 20 31 3e   to be moved" 1>
113f0 26 32 0a 09 09 20 20 66 69 0a 09 09 20 20 70 61  &2...  fi...  pa
11400 74 68 3d 22 24 61 62 73 64 69 72 22 0a 09 09 66  th="$absdir"...f
11410 69 0a 09 09 64 65 70 64 65 70 6c 3d 0a 09 09 63  i...depdepl=...c
11420 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 09 2a  ase $host in...*
11430 2d 2a 2d 64 61 72 77 69 6e 2a 29 0a 09 09 20 20  -*-darwin*)...  
11440 23 20 77 65 20 64 6f 20 6e 6f 74 20 77 61 6e 74  # we do not want
11450 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74   to link against
11460 20 73 74 61 74 69 63 20 6c 69 62 73 2c 20 62 75   static libs, bu
11470 74 20 6e 65 65 64 20 74 6f 20 6c 69 6e 6b 20 61  t need to link a
11480 67 61 69 6e 73 74 20 73 68 61 72 65 64 0a 09 09  gainst shared...
11490 20 20 65 76 61 6c 20 64 65 70 6c 69 62 72 61 72    eval deplibrar
114a0 79 5f 6e 61 6d 65 73 3d 60 24 7b 53 45 44 7d 20  y_names=`${SED} 
114b0 2d 6e 20 2d 65 20 27 73 2f 5e 6c 69 62 72 61 72  -n -e 's/^librar
114c0 79 5f 6e 61 6d 65 73 3d 5c 28 2e 2a 5c 29 24 2f  y_names=\(.*\)$/
114d0 5c 31 2f 70 27 20 24 64 65 70 6c 69 62 60 0a 09  \1/p' $deplib`..
114e0 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
114f0 64 65 70 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  deplibrary_names
11500 22 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20 66  " ; then...    f
11510 6f 72 20 74 6d 70 20 69 6e 20 24 64 65 70 6c 69  or tmp in $depli
11520 62 72 61 72 79 5f 6e 61 6d 65 73 20 3b 20 64 6f  brary_names ; do
11530 0a 09 09 20 20 20 20 20 20 64 65 70 64 65 70 6c  ...      depdepl
11540 3d 24 74 6d 70 0a 09 09 20 20 20 20 64 6f 6e 65  =$tmp...    done
11550 0a 09 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  ...    if test -
11560 66 20 22 24 70 61 74 68 2f 24 64 65 70 64 65 70  f "$path/$depdep
11570 6c 22 20 3b 20 74 68 65 6e 0a 09 09 20 20 20 20  l" ; then...    
11580 20 20 64 65 70 64 65 70 6c 3d 22 24 70 61 74 68    depdepl="$path
11590 2f 24 64 65 70 64 65 70 6c 22 0a 09 09 20 20 20  /$depdepl"...   
115a0 66 69 0a 09 09 20 20 20 20 23 20 64 6f 20 6e 6f  fi...    # do no
115b0 74 20 61 64 64 20 70 61 74 68 73 20 77 68 69 63  t add paths whic
115c0 68 20 61 72 65 20 61 6c 72 65 61 64 79 20 74 68  h are already th
115d0 65 72 65 0a 09 09 20 20 20 20 63 61 73 65 20 22  ere...    case "
115e0 20 24 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f   $newlib_search_
115f0 70 61 74 68 20 22 20 69 6e 0a 09 09 20 20 20 20  path " in...    
11600 2a 22 20 24 70 61 74 68 20 22 2a 29 20 3b 3b 0a  *" $path "*) ;;.
11610 09 09 20 20 20 20 2a 29 20 6e 65 77 6c 69 62 5f  ..    *) newlib_
11620 73 65 61 72 63 68 5f 70 61 74 68 3d 22 24 6e 65  search_path="$ne
11630 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  wlib_search_path
11640 20 24 70 61 74 68 22 3b 3b 0a 09 09 20 20 20 20   $path";;...    
11650 65 73 61 63 0a 09 09 20 20 66 69 0a 09 09 20 20  esac...  fi...  
11660 70 61 74 68 3d 22 22 0a 09 09 20 20 3b 3b 0a 09  path=""...  ;;..
11670 09 2a 29 0a 09 09 70 61 74 68 3d 22 2d 4c 24 70  .*)...path="-L$p
11680 61 74 68 22 0a 09 09 3b 3b 0a 09 09 65 73 61 63  ath"...;;...esac
11690 20 0a 09 09 0a 09 09 3b 3b 0a 09 09 20 20 2d 6c   ......;;...  -l
116a0 2a 29 0a 09 09 63 61 73 65 20 24 68 6f 73 74 20  *)...case $host 
116b0 69 6e 0a 09 09 2a 2d 2a 2d 64 61 72 77 69 6e 2a  in...*-*-darwin*
116c0 29 0a 09 09 20 23 20 41 67 61 69 6e 2c 20 77 65  )... # Again, we
116d0 20 6f 6e 6c 79 20 77 61 6e 74 20 74 6f 20 6c 69   only want to li
116e0 6e 6b 20 61 67 61 69 6e 73 74 20 73 68 61 72 65  nk against share
116f0 64 20 6c 69 62 72 61 72 69 65 73 0a 09 09 20 65  d libraries... e
11700 76 61 6c 20 74 6d 70 5f 6c 69 62 73 3d 60 24 65  val tmp_libs=`$e
11710 63 68 6f 20 22 58 24 64 65 70 6c 69 62 22 20 7c  cho "X$deplib" |
11720 20 24 58 73 65 64 20 2d 65 20 22 73 2c 5e 5c 2d   $Xsed -e "s,^\-
11730 6c 2c 2c 22 60 0a 09 09 20 66 6f 72 20 74 6d 70  l,,"`... for tmp
11740 20 69 6e 20 24 6e 65 77 6c 69 62 5f 73 65 61 72   in $newlib_sear
11750 63 68 5f 70 61 74 68 20 3b 20 64 6f 0a 09 09 20  ch_path ; do... 
11760 20 20 20 20 69 66 20 74 65 73 74 20 2d 66 20 22      if test -f "
11770 24 74 6d 70 2f 6c 69 62 24 74 6d 70 5f 6c 69 62  $tmp/lib$tmp_lib
11780 73 2e 64 79 6c 69 62 22 20 3b 20 74 68 65 6e 0a  s.dylib" ; then.
11790 09 09 20 20 20 20 20 20 20 65 76 61 6c 20 64 65  ..       eval de
117a0 70 64 65 70 6c 3d 22 24 74 6d 70 2f 6c 69 62 24  pdepl="$tmp/lib$
117b0 74 6d 70 5f 6c 69 62 73 2e 64 79 6c 69 62 22 0a  tmp_libs.dylib".
117c0 09 09 20 20 20 20 20 20 20 62 72 65 61 6b 0a 09  ..       break..
117d0 09 20 20 20 20 20 66 69 20 20 0a 20 20 20 20 20  .     fi  .     
117e0 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 20      done.       
117f0 20 20 70 61 74 68 3d 22 22 0a 09 09 20 20 3b 3b    path=""...  ;;
11800 0a 09 09 2a 29 20 63 6f 6e 74 69 6e 75 65 20 3b  ...*) continue ;
11810 3b 0a 09 09 65 73 61 63 20 20 09 09 20 20 0a 09  ;...esac  ..  ..
11820 09 3b 3b 0a 09 20 20 20 20 20 20 2a 29 20 63 6f  .;;..      *) co
11830 6e 74 69 6e 75 65 20 3b 3b 0a 09 20 20 20 20 20  ntinue ;;..     
11840 20 65 73 61 63 0a 09 20 20 20 20 20 20 63 61 73   esac..      cas
11850 65 20 22 20 24 64 65 70 6c 69 62 73 20 22 20 69  e " $deplibs " i
11860 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65 70  n..      *" $dep
11870 64 65 70 6c 20 22 2a 29 20 3b 3b 0a 09 20 20 20  depl "*) ;;..   
11880 20 20 20 2a 29 20 64 65 70 6c 69 62 73 3d 22 24     *) deplibs="$
11890 64 65 70 6c 69 62 73 20 24 64 65 70 64 65 70 6c  deplibs $depdepl
118a0 22 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63  " ;;..      esac
118b0 09 20 20 20 20 20 20 0a 09 20 20 20 20 20 20 63  .      ..      c
118c0 61 73 65 20 22 20 24 64 65 70 6c 69 62 73 20 22  ase " $deplibs "
118d0 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 70   in..      *" $p
118e0 61 74 68 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20  ath "*) ;;..    
118f0 20 20 2a 29 20 64 65 70 6c 69 62 73 3d 22 24 64    *) deplibs="$d
11900 65 70 6c 69 62 73 20 24 70 61 74 68 22 20 3b 3b  eplibs $path" ;;
11910 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
11920 20 20 64 6f 6e 65 0a 09 20 20 66 69 20 23 20 6c    done..  fi # l
11930 69 6e 6b 5f 61 6c 6c 5f 64 65 70 6c 69 62 73 20  ink_all_deplibs 
11940 21 3d 20 6e 6f 0a 09 66 69 20 23 20 6c 69 6e 6b  != no..fi # link
11950 6d 6f 64 65 20 3d 20 6c 69 62 0a 20 20 20 20 20  mode = lib.     
11960 20 64 6f 6e 65 20 23 20 66 6f 72 20 64 65 70 6c   done # for depl
11970 69 62 20 69 6e 20 24 6c 69 62 73 0a 20 20 20 20  ib in $libs.    
11980 20 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62    dependency_lib
11990 73 3d 22 24 6e 65 77 64 65 70 65 6e 64 65 6e 63  s="$newdependenc
119a0 79 5f 6c 69 62 73 22 0a 20 20 20 20 20 20 69 66  y_libs".      if
119b0 20 74 65 73 74 20 22 24 70 61 73 73 22 20 3d 20   test "$pass" = 
119c0 64 6c 70 72 65 6f 70 65 6e 3b 20 74 68 65 6e 0a  dlpreopen; then.
119d0 09 23 20 4c 69 6e 6b 20 74 68 65 20 64 6c 70 72  .# Link the dlpr
119e0 65 6f 70 65 6e 65 64 20 6c 69 62 72 61 72 69 65  eopened librarie
119f0 73 20 62 65 66 6f 72 65 20 6f 74 68 65 72 20 6c  s before other l
11a00 69 62 72 61 72 69 65 73 0a 09 66 6f 72 20 64 65  ibraries..for de
11a10 70 6c 69 62 20 69 6e 20 24 73 61 76 65 5f 64 65  plib in $save_de
11a20 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 64 65 70  plibs; do..  dep
11a30 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 20 24 64  libs="$deplib $d
11a40 65 70 6c 69 62 73 22 0a 09 64 6f 6e 65 0a 20 20  eplibs"..done.  
11a50 20 20 20 20 66 69 0a 20 20 20 20 20 20 69 66 20      fi.      if 
11a60 74 65 73 74 20 22 24 70 61 73 73 22 20 21 3d 20  test "$pass" != 
11a70 64 6c 6f 70 65 6e 3b 20 74 68 65 6e 0a 09 69 66  dlopen; then..if
11a80 20 74 65 73 74 20 22 24 70 61 73 73 22 20 21 3d   test "$pass" !=
11a90 20 63 6f 6e 76 3b 20 74 68 65 6e 0a 09 20 20 23   conv; then..  #
11aa0 20 4d 61 6b 65 20 73 75 72 65 20 6c 69 62 5f 73   Make sure lib_s
11ab0 65 61 72 63 68 5f 70 61 74 68 20 63 6f 6e 74 61  earch_path conta
11ac0 69 6e 73 20 6f 6e 6c 79 20 75 6e 69 71 75 65 20  ins only unique 
11ad0 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 09 20 20  directories...  
11ae0 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68 3d  lib_search_path=
11af0 0a 09 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24  ..  for dir in $
11b00 6e 65 77 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  newlib_search_pa
11b10 74 68 3b 20 64 6f 0a 09 20 20 20 20 63 61 73 65  th; do..    case
11b20 20 22 24 6c 69 62 5f 73 65 61 72 63 68 5f 70 61   "$lib_search_pa
11b30 74 68 20 22 20 69 6e 0a 09 20 20 20 20 2a 22 20  th " in..    *" 
11b40 24 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20  $dir "*) ;;..   
11b50 20 2a 29 20 6c 69 62 5f 73 65 61 72 63 68 5f 70   *) lib_search_p
11b60 61 74 68 3d 22 24 6c 69 62 5f 73 65 61 72 63 68  ath="$lib_search
11b70 5f 70 61 74 68 20 24 64 69 72 22 20 3b 3b 0a 09  _path $dir" ;;..
11b80 20 20 20 20 65 73 61 63 0a 09 20 20 64 6f 6e 65      esac..  done
11b90 0a 09 20 20 6e 65 77 6c 69 62 5f 73 65 61 72 63  ..  newlib_searc
11ba0 68 5f 70 61 74 68 3d 0a 09 66 69 0a 0a 09 69 66  h_path=..fi...if
11bb0 20 74 65 73 74 20 22 24 6c 69 6e 6b 6d 6f 64 65   test "$linkmode
11bc0 2c 24 70 61 73 73 22 20 21 3d 20 22 70 72 6f 67  ,$pass" != "prog
11bd0 2c 6c 69 6e 6b 22 3b 20 74 68 65 6e 0a 09 20 20  ,link"; then..  
11be0 76 61 72 73 3d 22 64 65 70 6c 69 62 73 22 0a 09  vars="deplibs"..
11bf0 65 6c 73 65 0a 09 20 20 76 61 72 73 3d 22 63 6f  else..  vars="co
11c00 6d 70 69 6c 65 5f 64 65 70 6c 69 62 73 20 66 69  mpile_deplibs fi
11c10 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 0a  nalize_deplibs".
11c20 09 66 69 0a 09 66 6f 72 20 76 61 72 20 69 6e 20  .fi..for var in 
11c30 24 76 61 72 73 20 64 65 70 65 6e 64 65 6e 63 79  $vars dependency
11c40 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 23 20 41  _libs; do..  # A
11c50 64 64 20 6c 69 62 72 61 72 69 65 73 20 74 6f 20  dd libraries to 
11c60 24 76 61 72 20 69 6e 20 72 65 76 65 72 73 65 20  $var in reverse 
11c70 6f 72 64 65 72 0a 09 20 20 65 76 61 6c 20 74 6d  order..  eval tm
11c80 70 5f 6c 69 62 73 3d 5c 22 5c 24 24 76 61 72 5c  p_libs=\"\$$var\
11c90 22 0a 09 20 20 6e 65 77 5f 6c 69 62 73 3d 0a 09  "..  new_libs=..
11ca0 20 20 66 6f 72 20 64 65 70 6c 69 62 20 69 6e 20    for deplib in 
11cb0 24 74 6d 70 5f 6c 69 62 73 3b 20 64 6f 0a 09 20  $tmp_libs; do.. 
11cc0 20 20 20 23 20 46 49 58 4d 45 3a 20 50 65 64 61     # FIXME: Peda
11cd0 6e 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 69  ntically, this i
11ce0 73 20 74 68 65 20 72 69 67 68 74 20 74 68 69 6e  s the right thin
11cf0 67 20 74 6f 20 64 6f 2c 20 73 6f 0a 09 20 20 20  g to do, so..   
11d00 20 23 20 20 20 20 20 20 20 20 74 68 61 74 20 73   #        that s
11d10 6f 6d 65 20 6e 61 73 74 79 20 64 65 70 65 6e 64  ome nasty depend
11d20 65 6e 63 79 20 6c 6f 6f 70 20 69 73 6e 27 74 20  ency loop isn't 
11d30 61 63 63 69 64 65 6e 74 61 6c 6c 79 0a 09 20 20  accidentally..  
11d40 20 20 23 20 20 20 20 20 20 20 20 62 72 6f 6b 65    #        broke
11d50 6e 3a 0a 09 20 20 20 20 23 6e 65 77 5f 6c 69 62  n:..    #new_lib
11d60 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77 5f  s="$deplib $new_
11d70 6c 69 62 73 22 0a 09 20 20 20 20 23 20 50 72 61  libs"..    # Pra
11d80 67 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73  gmatically, this
11d90 20 73 65 65 6d 73 20 74 6f 20 63 61 75 73 65 20   seems to cause 
11da0 76 65 72 79 20 66 65 77 20 70 72 6f 62 6c 65 6d  very few problem
11db0 73 20 69 6e 0a 09 20 20 20 20 23 20 70 72 61 63  s in..    # prac
11dc0 74 69 63 65 3a 0a 09 20 20 20 20 63 61 73 65 20  tice:..    case 
11dd0 24 64 65 70 6c 69 62 20 69 6e 0a 09 20 20 20 20  $deplib in..    
11de0 2d 4c 2a 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24  -L*) new_libs="$
11df0 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69 62 73  deplib $new_libs
11e00 22 20 3b 3b 0a 09 20 20 20 20 2d 52 2a 29 20 3b  " ;;..    -R*) ;
11e10 3b 0a 09 20 20 20 20 2a 29 0a 09 20 20 20 20 20  ;..    *)..     
11e20 20 23 20 41 6e 64 20 68 65 72 65 20 69 73 20 74   # And here is t
11e30 68 65 20 72 65 61 73 6f 6e 3a 20 77 68 65 6e 20  he reason: when 
11e40 61 20 6c 69 62 72 61 72 79 20 61 70 70 65 61 72  a library appear
11e50 73 20 6d 6f 72 65 0a 09 20 20 20 20 20 20 23 20  s more..      # 
11e60 74 68 61 6e 20 6f 6e 63 65 20 61 73 20 61 6e 20  than once as an 
11e70 65 78 70 6c 69 63 69 74 20 64 65 70 65 6e 64 65  explicit depende
11e80 6e 63 65 20 6f 66 20 61 20 6c 69 62 72 61 72 79  nce of a library
11e90 2c 20 6f 72 0a 09 20 20 20 20 20 20 23 20 69 73  , or..      # is
11ea0 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 69 6e 6b   implicitly link
11eb0 65 64 20 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20  ed in more than 
11ec0 6f 6e 63 65 20 62 79 20 74 68 65 0a 09 20 20 20  once by the..   
11ed0 20 20 20 23 20 63 6f 6d 70 69 6c 65 72 2c 20 69     # compiler, i
11ee0 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20  t is considered 
11ef0 73 70 65 63 69 61 6c 2c 20 61 6e 64 20 6d 75 6c  special, and mul
11f00 74 69 70 6c 65 0a 09 20 20 20 20 20 20 23 20 6f  tiple..      # o
11f10 63 63 75 72 72 65 6e 63 65 73 20 74 68 65 72 65  ccurrences there
11f20 6f 66 20 61 72 65 20 6e 6f 74 20 72 65 6d 6f 76  of are not remov
11f30 65 64 2e 20 20 43 6f 6d 70 61 72 65 20 74 68 69  ed.  Compare thi
11f40 73 0a 09 20 20 20 20 20 20 23 20 77 69 74 68 20  s..      # with 
11f50 68 61 76 69 6e 67 20 74 68 65 20 73 61 6d 65 20  having the same 
11f60 6c 69 62 72 61 72 79 20 62 65 69 6e 67 20 6c 69  library being li
11f70 73 74 65 64 20 61 73 20 61 0a 09 20 20 20 20 20  sted as a..     
11f80 20 23 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 66   # dependency of
11f90 20 6d 75 6c 74 69 70 6c 65 20 6f 74 68 65 72 20   multiple other 
11fa0 6c 69 62 72 61 72 69 65 73 3a 20 69 6e 20 74 68  libraries: in th
11fb0 69 73 20 63 61 73 65 2c 0a 09 20 20 20 20 20 20  is case,..      
11fc0 23 20 77 65 20 6b 6e 6f 77 20 28 70 65 64 61 6e  # we know (pedan
11fd0 74 69 63 61 6c 6c 79 2c 20 77 65 20 61 73 73 75  tically, we assu
11fe0 6d 65 29 20 74 68 65 20 6c 69 62 72 61 72 79 20  me) the library 
11ff0 64 6f 65 73 20 6e 6f 74 0a 09 20 20 20 20 20 20  does not..      
12000 23 20 6e 65 65 64 20 74 6f 20 62 65 20 6c 69 73  # need to be lis
12010 74 65 64 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e  ted more than on
12020 63 65 2c 20 73 6f 20 77 65 20 6b 65 65 70 20 6f  ce, so we keep o
12030 6e 6c 79 20 74 68 65 0a 09 20 20 20 20 20 20 23  nly the..      #
12040 20 6c 61 73 74 20 63 6f 70 79 2e 20 20 54 68 69   last copy.  Thi
12050 73 20 69 73 20 6e 6f 74 20 61 6c 77 61 79 73 20  s is not always 
12060 72 69 67 68 74 2c 20 62 75 74 20 69 74 20 69 73  right, but it is
12070 20 72 61 72 65 0a 09 20 20 20 20 20 20 23 20 65   rare..      # e
12080 6e 6f 75 67 68 20 74 68 61 74 20 77 65 20 72 65  nough that we re
12090 71 75 69 72 65 20 75 73 65 72 73 20 74 68 61 74  quire users that
120a0 20 72 65 61 6c 6c 79 20 6d 65 61 6e 20 74 6f 20   really mean to 
120b0 70 6c 61 79 0a 09 20 20 20 20 20 20 23 20 73 75  play..      # su
120c0 63 68 20 75 6e 70 6f 72 74 61 62 6c 65 20 6c 69  ch unportable li
120d0 6e 6b 69 6e 67 20 74 72 69 63 6b 73 20 74 6f 20  nking tricks to 
120e0 6c 69 6e 6b 20 74 68 65 20 6c 69 62 72 61 72 79  link the library
120f0 0a 09 20 20 20 20 20 20 23 20 75 73 69 6e 67 20  ..      # using 
12100 2d 57 6c 2c 2d 6c 6e 61 6d 65 2c 20 73 6f 20 74  -Wl,-lname, so t
12110 68 61 74 20 6c 69 62 74 6f 6f 6c 20 64 6f 65 73  hat libtool does
12120 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 69 74   not consider it
12130 0a 09 20 20 20 20 20 20 23 20 66 6f 72 20 64 75  ..      # for du
12140 70 6c 69 63 61 74 65 20 72 65 6d 6f 76 61 6c 2e  plicate removal.
12150 0a 09 20 20 20 20 20 20 63 61 73 65 20 22 20 24  ..      case " $
12160 73 70 65 63 69 61 6c 64 65 70 6c 69 62 73 20 22  specialdeplibs "
12170 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 20 24 64   in..      *" $d
12180 65 70 6c 69 62 20 22 2a 29 20 6e 65 77 5f 6c 69  eplib "*) new_li
12190 62 73 3d 22 24 64 65 70 6c 69 62 20 24 6e 65 77  bs="$deplib $new
121a0 5f 6c 69 62 73 22 20 3b 3b 0a 09 20 20 20 20 20  _libs" ;;..     
121b0 20 2a 29 0a 09 09 63 61 73 65 20 22 20 24 6e 65   *)...case " $ne
121c0 77 5f 6c 69 62 73 20 22 20 69 6e 0a 09 09 2a 22  w_libs " in...*"
121d0 20 24 64 65 70 6c 69 62 20 22 2a 29 20 3b 3b 0a   $deplib "*) ;;.
121e0 09 09 2a 29 20 6e 65 77 5f 6c 69 62 73 3d 22 24  ..*) new_libs="$
121f0 64 65 70 6c 69 62 20 24 6e 65 77 5f 6c 69 62 73  deplib $new_libs
12200 22 20 3b 3b 0a 09 09 65 73 61 63 0a 09 09 3b 3b  " ;;...esac...;;
12210 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
12220 20 20 20 20 3b 3b 0a 09 20 20 20 20 65 73 61 63      ;;..    esac
12230 0a 09 20 20 64 6f 6e 65 0a 09 20 20 74 6d 70 5f  ..  done..  tmp_
12240 6c 69 62 73 3d 0a 09 20 20 66 6f 72 20 64 65 70  libs=..  for dep
12250 6c 69 62 20 69 6e 20 24 6e 65 77 5f 6c 69 62 73  lib in $new_libs
12260 3b 20 64 6f 0a 09 20 20 20 20 63 61 73 65 20 24  ; do..    case $
12270 64 65 70 6c 69 62 20 69 6e 0a 09 20 20 20 20 2d  deplib in..    -
12280 4c 2a 29 0a 09 20 20 20 20 20 20 63 61 73 65 20  L*)..      case 
12290 22 20 24 74 6d 70 5f 6c 69 62 73 20 22 20 69 6e  " $tmp_libs " in
122a0 0a 09 20 20 20 20 20 20 2a 22 20 24 64 65 70 6c  ..      *" $depl
122b0 69 62 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20  ib "*) ;;..     
122c0 20 2a 29 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74   *) tmp_libs="$t
122d0 6d 70 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22  mp_libs $deplib"
122e0 20 3b 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a   ;;..      esac.
122f0 09 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 2a  .      ;;..    *
12300 29 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74 6d 70  ) tmp_libs="$tmp
12310 5f 6c 69 62 73 20 24 64 65 70 6c 69 62 22 20 3b  _libs $deplib" ;
12320 3b 0a 09 20 20 20 20 65 73 61 63 0a 09 20 20 64  ;..    esac..  d
12330 6f 6e 65 0a 09 20 20 65 76 61 6c 20 24 76 61 72  one..  eval $var
12340 3d 5c 22 24 74 6d 70 5f 6c 69 62 73 5c 22 0a 09  =\"$tmp_libs\"..
12350 64 6f 6e 65 20 23 20 66 6f 72 20 76 61 72 0a 20  done # for var. 
12360 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 23 20       fi.      # 
12370 4c 61 73 74 20 73 74 65 70 3a 20 72 65 6d 6f 76  Last step: remov
12380 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 73 20 66  e runtime libs f
12390 72 6f 6d 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c  rom dependency_l
123a0 69 62 73 20 28 74 68 65 79 20 73 74 61 79 20 69  ibs (they stay i
123b0 6e 20 64 65 70 6c 69 62 73 29 0a 20 20 20 20 20  n deplibs).     
123c0 20 74 6d 70 5f 6c 69 62 73 3d 0a 20 20 20 20 20   tmp_libs=.     
123d0 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70 65 6e   for i in $depen
123e0 64 65 6e 63 79 5f 6c 69 62 73 20 3b 20 64 6f 0a  dency_libs ; do.
123f0 09 63 61 73 65 20 22 20 24 70 72 65 64 65 70 73  .case " $predeps
12400 20 24 70 6f 73 74 64 65 70 73 20 24 63 6f 6d 70   $postdeps $comp
12410 69 6c 65 72 5f 6c 69 62 5f 73 65 61 72 63 68 5f  iler_lib_search_
12420 70 61 74 68 20 22 20 69 6e 0a 09 2a 22 20 24 69  path " in..*" $i
12430 20 22 2a 29 0a 09 20 20 69 3d 22 22 0a 09 20 20   "*)..  i=""..  
12440 3b 3b 0a 09 65 73 61 63 0a 09 69 66 20 74 65 73  ;;..esac..if tes
12450 74 20 2d 6e 20 22 24 69 22 20 3b 20 74 68 65 6e  t -n "$i" ; then
12460 0a 09 20 20 74 6d 70 5f 6c 69 62 73 3d 22 24 74  ..  tmp_libs="$t
12470 6d 70 5f 6c 69 62 73 20 24 69 22 0a 09 66 69 0a  mp_libs $i"..fi.
12480 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20        done.     
12490 20 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73   dependency_libs
124a0 3d 24 74 6d 70 5f 6c 69 62 73 0a 20 20 20 20 64  =$tmp_libs.    d
124b0 6f 6e 65 20 23 20 66 6f 72 20 70 61 73 73 0a 20  one # for pass. 
124c0 20 20 20 69 66 20 74 65 73 74 20 22 24 6c 69 6e     if test "$lin
124d0 6b 6d 6f 64 65 22 20 3d 20 70 72 6f 67 3b 20 74  kmode" = prog; t
124e0 68 65 6e 0a 20 20 20 20 20 20 64 6c 66 69 6c 65  hen.      dlfile
124f0 73 3d 22 24 6e 65 77 64 6c 66 69 6c 65 73 22 0a  s="$newdlfiles".
12500 20 20 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73        dlprefiles
12510 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73  ="$newdlprefiles
12520 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 63 61  ".    fi..    ca
12530 73 65 20 24 6c 69 6e 6b 6d 6f 64 65 20 69 6e 0a  se $linkmode in.
12540 20 20 20 20 6f 6c 64 6c 69 62 29 0a 20 20 20 20      oldlib).    
12550 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64    if test -n "$d
12560 65 70 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 24  eplibs"; then..$
12570 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
12580 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 6c 27 20   warning: \`-l' 
12590 61 6e 64 20 5c 60 2d 4c 27 20 61 72 65 20 69 67  and \`-L' are ig
125a0 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68 69 76  nored for archiv
125b0 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  es" 1>&2.      f
125c0 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
125d0 20 2d 6e 20 22 24 64 6c 66 69 6c 65 73 24 64 6c   -n "$dlfiles$dl
125e0 70 72 65 66 69 6c 65 73 22 20 7c 7c 20 74 65 73  prefiles" || tes
125f0 74 20 22 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e  t "$dlself" != n
12600 6f 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22  o; then..$echo "
12610 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
12620 6e 67 3a 20 5c 60 2d 64 6c 6f 70 65 6e 27 20 69  ng: \`-dlopen' i
12630 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72  s ignored for ar
12640 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20  chives" 1>&2.   
12650 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20     fi..      if 
12660 74 65 73 74 20 2d 6e 20 22 24 72 70 61 74 68 22  test -n "$rpath"
12670 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24  ; then..$echo "$
12680 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
12690 67 3a 20 5c 60 2d 72 70 61 74 68 27 20 69 73 20  g: \`-rpath' is 
126a0 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68  ignored for arch
126b0 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ives" 1>&2.     
126c0 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
126d0 73 74 20 2d 6e 20 22 24 78 72 70 61 74 68 22 3b  st -n "$xrpath";
126e0 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d   then..$echo "$m
126f0 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67  odename: warning
12700 3a 20 5c 60 2d 52 27 20 69 73 20 69 67 6e 6f 72  : \`-R' is ignor
12710 65 64 20 66 6f 72 20 61 72 63 68 69 76 65 73 22  ed for archives"
12720 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a   1>&2.      fi..
12730 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
12740 20 22 24 76 69 6e 66 6f 22 3b 20 74 68 65 6e 0a   "$vinfo"; then.
12750 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
12760 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 76  e: warning: \`-v
12770 65 72 73 69 6f 6e 2d 69 6e 66 6f 2f 2d 76 65 72  ersion-info/-ver
12780 73 69 6f 6e 2d 6e 75 6d 62 65 72 27 20 69 73 20  sion-number' is 
12790 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72 63 68  ignored for arch
127a0 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20 20 20  ives" 1>&2.     
127b0 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
127c0 73 74 20 2d 6e 20 22 24 72 65 6c 65 61 73 65 22  st -n "$release"
127d0 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24  ; then..$echo "$
127e0 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
127f0 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65 27 20 69  g: \`-release' i
12800 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 61 72  s ignored for ar
12810 63 68 69 76 65 73 22 20 31 3e 26 32 0a 20 20 20  chives" 1>&2.   
12820 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20     fi..      if 
12830 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74  test -n "$export
12840 5f 73 79 6d 62 6f 6c 73 22 20 7c 7c 20 74 65 73  _symbols" || tes
12850 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f 73 79  t -n "$export_sy
12860 6d 62 6f 6c 73 5f 72 65 67 65 78 22 3b 20 74 68  mbols_regex"; th
12870 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
12880 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c  name: warning: \
12890 60 2d 65 78 70 6f 72 74 2d 73 79 6d 62 6f 6c 73  `-export-symbols
128a0 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
128b0 20 61 72 63 68 69 76 65 73 22 20 31 3e 26 32 0a   archives" 1>&2.
128c0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
128d0 23 20 4e 6f 77 20 73 65 74 20 74 68 65 20 76 61  # Now set the va
128e0 72 69 61 62 6c 65 73 20 66 6f 72 20 62 75 69 6c  riables for buil
128f0 64 69 6e 67 20 6f 6c 64 20 6c 69 62 72 61 72 69  ding old librari
12900 65 73 2e 0a 20 20 20 20 20 20 62 75 69 6c 64 5f  es..      build_
12910 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a  libtool_libs=no.
12920 20 20 20 20 20 20 6f 6c 64 6c 69 62 73 3d 22 24        oldlibs="$
12930 6f 75 74 70 75 74 22 0a 20 20 20 20 20 20 6f 62  output".      ob
12940 6a 73 3d 22 24 6f 62 6a 73 24 6f 6c 64 5f 64 65  js="$objs$old_de
12950 70 6c 69 62 73 22 0a 20 20 20 20 20 20 3b 3b 0a  plibs".      ;;.
12960 0a 20 20 20 20 6c 69 62 29 0a 20 20 20 20 20 20  .    lib).      
12970 23 20 4d 61 6b 65 20 73 75 72 65 20 77 65 20 6f  # Make sure we o
12980 6e 6c 79 20 67 65 6e 65 72 61 74 65 20 6c 69 62  nly generate lib
12990 72 61 72 69 65 73 20 6f 66 20 74 68 65 20 66 6f  raries of the fo
129a0 72 6d 20 60 6c 69 62 4e 41 4d 45 2e 6c 61 27 2e  rm `libNAME.la'.
129b0 0a 20 20 20 20 20 20 63 61 73 65 20 24 6f 75 74  .      case $out
129c0 70 75 74 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20  putname in.     
129d0 20 6c 69 62 2a 29 0a 09 6e 61 6d 65 3d 60 24 65   lib*)..name=`$e
129e0 63 68 6f 20 22 58 24 6f 75 74 70 75 74 6e 61 6d  cho "X$outputnam
129f0 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  e" | $Xsed -e 's
12a00 2f 5c 2e 6c 61 24 2f 2f 27 20 2d 65 20 27 73 2f  /\.la$//' -e 's/
12a10 5e 6c 69 62 2f 2f 27 60 0a 09 65 76 61 6c 20 73  ^lib//'`..eval s
12a20 68 61 72 65 64 5f 65 78 74 3d 5c 22 24 73 68 72  hared_ext=\"$shr
12a30 65 78 74 5c 22 0a 09 65 76 61 6c 20 6c 69 62 6e  ext\"..eval libn
12a40 61 6d 65 3d 5c 22 24 6c 69 62 6e 61 6d 65 5f 73  ame=\"$libname_s
12a50 70 65 63 5c 22 0a 09 3b 3b 0a 20 20 20 20 20 20  pec\"..;;.      
12a60 2a 29 0a 09 69 66 20 74 65 73 74 20 22 24 6d 6f  *)..if test "$mo
12a70 64 75 6c 65 22 20 3d 20 6e 6f 3b 20 74 68 65 6e  dule" = no; then
12a80 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65  ..  $echo "$mode
12a90 6e 61 6d 65 3a 20 6c 69 62 74 6f 6f 6c 20 6c 69  name: libtool li
12aa0 62 72 61 72 79 20 5c 60 24 6f 75 74 70 75 74 27  brary \`$output'
12ab0 20 6d 75 73 74 20 62 65 67 69 6e 20 77 69 74 68   must begin with
12ac0 20 5c 60 6c 69 62 27 22 20 31 3e 26 32 0a 09 20   \`lib'" 1>&2.. 
12ad0 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31   $echo "$help" 1
12ae0 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66  >&2..  exit 1..f
12af0 69 0a 09 69 66 20 74 65 73 74 20 22 24 6e 65 65  i..if test "$nee
12b00 64 5f 6c 69 62 5f 70 72 65 66 69 78 22 20 21 3d  d_lib_prefix" !=
12b10 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 23 20 41   no; then..  # A
12b20 64 64 20 74 68 65 20 22 6c 69 62 22 20 70 72 65  dd the "lib" pre
12b30 66 69 78 20 66 6f 72 20 6d 6f 64 75 6c 65 73 20  fix for modules 
12b40 69 66 20 72 65 71 75 69 72 65 64 0a 09 20 20 6e  if required..  n
12b50 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 75  ame=`$echo "X$ou
12b60 74 70 75 74 6e 61 6d 65 22 20 7c 20 24 58 73 65  tputname" | $Xse
12b70 64 20 2d 65 20 27 73 2f 5c 2e 6c 61 24 2f 2f 27  d -e 's/\.la$//'
12b80 60 0a 09 20 20 65 76 61 6c 20 73 68 61 72 65 64  `..  eval shared
12b90 5f 65 78 74 3d 5c 22 24 73 68 72 65 78 74 5c 22  _ext=\"$shrext\"
12ba0 0a 09 20 20 65 76 61 6c 20 6c 69 62 6e 61 6d 65  ..  eval libname
12bb0 3d 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63  =\"$libname_spec
12bc0 5c 22 0a 09 65 6c 73 65 0a 09 20 20 6c 69 62 6e  \"..else..  libn
12bd0 61 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 6f 75  ame=`$echo "X$ou
12be0 74 70 75 74 6e 61 6d 65 22 20 7c 20 24 58 73 65  tputname" | $Xse
12bf0 64 20 2d 65 20 27 73 2f 5c 2e 6c 61 24 2f 2f 27  d -e 's/\.la$//'
12c00 60 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20 20 20  `..fi..;;.      
12c10 65 73 61 63 0a 0a 20 20 20 20 20 20 69 66 20 74  esac..      if t
12c20 65 73 74 20 2d 6e 20 22 24 6f 62 6a 73 22 3b 20  est -n "$objs"; 
12c30 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 22 24  then..if test "$
12c40 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65  deplibs_check_me
12c50 74 68 6f 64 22 20 21 3d 20 70 61 73 73 5f 61 6c  thod" != pass_al
12c60 6c 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f  l; then..  $echo
12c70 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e   "$modename: can
12c80 6e 6f 74 20 62 75 69 6c 64 20 6c 69 62 74 6f 6f  not build libtoo
12c90 6c 20 6c 69 62 72 61 72 79 20 5c 60 24 6f 75 74  l library \`$out
12ca0 70 75 74 27 20 66 72 6f 6d 20 6e 6f 6e 2d 6c 69  put' from non-li
12cb0 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 73 20 6f 6e  btool objects on
12cc0 20 74 68 69 73 20 68 6f 73 74 3a 24 6f 62 6a 73   this host:$objs
12cd0 22 20 32 3e 26 31 0a 09 20 20 65 78 69 74 20 31  " 2>&1..  exit 1
12ce0 0a 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 0a  ..else..  $echo.
12cf0 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61  .  $echo "*** Wa
12d00 72 6e 69 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 74  rning: Linking t
12d10 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  he shared librar
12d20 79 20 24 6f 75 74 70 75 74 20 61 67 61 69 6e 73  y $output agains
12d30 74 20 74 68 65 20 6e 6f 6e 2d 6c 69 62 74 6f 6f  t the non-libtoo
12d40 6c 22 0a 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a  l"..  $echo "***
12d50 20 6f 62 6a 65 63 74 73 20 24 6f 62 6a 73 20 69   objects $objs i
12d60 73 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65 21 22  s not portable!"
12d70 0a 09 20 20 6c 69 62 6f 62 6a 73 3d 22 24 6c 69  ..  libobjs="$li
12d80 62 6f 62 6a 73 20 24 6f 62 6a 73 22 0a 09 66 69  bobjs $objs"..fi
12d90 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
12da0 20 69 66 20 74 65 73 74 20 22 24 64 6c 73 65 6c   if test "$dlsel
12db0 66 22 20 21 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  f" != no; then..
12dc0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
12dd0 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 64 6c  : warning: \`-dl
12de0 6f 70 65 6e 20 73 65 6c 66 27 20 69 73 20 69 67  open self' is ig
12df0 6e 6f 72 65 64 20 66 6f 72 20 6c 69 62 74 6f 6f  nored for libtoo
12e00 6c 20 6c 69 62 72 61 72 69 65 73 22 20 31 3e 26  l libraries" 1>&
12e10 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  2.      fi..    
12e20 20 20 73 65 74 20 64 75 6d 6d 79 20 24 72 70 61    set dummy $rpa
12e30 74 68 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  th.      if test
12e40 20 22 24 23 22 20 2d 67 74 20 32 3b 20 74 68 65   "$#" -gt 2; the
12e50 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e  n..$echo "$moden
12e60 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 69 67  ame: warning: ig
12e70 6e 6f 72 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20  noring multiple 
12e80 5c 60 2d 72 70 61 74 68 27 73 20 66 6f 72 20 61  \`-rpath's for a
12e90 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79   libtool library
12ea0 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a  " 1>&2.      fi.
12eb0 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 5f 6c 69        install_li
12ec0 62 64 69 72 3d 22 24 32 22 0a 0a 20 20 20 20 20  bdir="$2"..     
12ed0 20 6f 6c 64 6c 69 62 73 3d 0a 20 20 20 20 20 20   oldlibs=.      
12ee0 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72 70 61  if test -z "$rpa
12ef0 74 68 22 3b 20 74 68 65 6e 0a 09 69 66 20 74 65  th"; then..if te
12f00 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
12f10 6f 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20  ol_libs" = yes; 
12f20 74 68 65 6e 0a 09 20 20 23 20 42 75 69 6c 64 69  then..  # Buildi
12f30 6e 67 20 61 20 6c 69 62 74 6f 6f 6c 20 63 6f 6e  ng a libtool con
12f40 76 65 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 79  venience library
12f50 2e 0a 09 20 20 23 20 53 6f 6d 65 20 63 6f 6d 70  ...  # Some comp
12f60 69 6c 65 72 73 20 68 61 76 65 20 70 72 6f 62 6c  ilers have probl
12f70 65 6d 73 20 77 69 74 68 20 61 20 60 2e 61 6c 27  ems with a `.al'
12f80 20 65 78 74 65 6e 73 69 6f 6e 20 73 6f 0a 09 20   extension so.. 
12f90 20 23 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c   # convenience l
12fa0 69 62 72 61 72 69 65 73 20 73 68 6f 75 6c 64 20  ibraries should 
12fb0 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 78  have the same ex
12fc0 74 65 6e 73 69 6f 6e 20 61 6e 0a 09 20 20 23 20  tension an..  # 
12fd0 61 72 63 68 69 76 65 20 6e 6f 72 6d 61 6c 6c 79  archive normally
12fe0 20 77 6f 75 6c 64 2e 0a 09 20 20 6f 6c 64 6c 69   would...  oldli
12ff0 62 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64  bs="$output_objd
13000 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62  ir/$libname.$lib
13010 65 78 74 20 24 6f 6c 64 6c 69 62 73 22 0a 09 20  ext $oldlibs".. 
13020 20 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c   build_libtool_l
13030 69 62 73 3d 63 6f 6e 76 65 6e 69 65 6e 63 65 0a  ibs=convenience.
13040 09 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62  .  build_old_lib
13050 73 3d 79 65 73 0a 09 66 69 0a 0a 09 69 66 20 74  s=yes..fi...if t
13060 65 73 74 20 2d 6e 20 22 24 76 69 6e 66 6f 22 3b  est -n "$vinfo";
13070 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20 22   then..  $echo "
13080 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
13090 6e 67 3a 20 5c 60 2d 76 65 72 73 69 6f 6e 2d 69  ng: \`-version-i
130a0 6e 66 6f 2f 2d 76 65 72 73 69 6f 6e 2d 6e 75 6d  nfo/-version-num
130b0 62 65 72 27 20 69 73 20 69 67 6e 6f 72 65 64 20  ber' is ignored 
130c0 66 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  for convenience 
130d0 6c 69 62 72 61 72 69 65 73 22 20 31 3e 26 32 0a  libraries" 1>&2.
130e0 09 66 69 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e  .fi...if test -n
130f0 20 22 24 72 65 6c 65 61 73 65 22 3b 20 74 68 65   "$release"; the
13100 6e 0a 09 20 20 24 65 63 68 6f 20 22 24 6d 6f 64  n..  $echo "$mod
13110 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
13120 5c 60 2d 72 65 6c 65 61 73 65 27 20 69 73 20 69  \`-release' is i
13130 67 6e 6f 72 65 64 20 66 6f 72 20 63 6f 6e 76 65  gnored for conve
13140 6e 69 65 6e 63 65 20 6c 69 62 72 61 72 69 65 73  nience libraries
13150 22 20 31 3e 26 32 0a 09 66 69 0a 20 20 20 20 20  " 1>&2..fi.     
13160 20 65 6c 73 65 0a 0a 09 23 20 50 61 72 73 65 20   else...# Parse 
13170 74 68 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  the version info
13180 72 6d 61 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74  rmation argument
13190 2e 0a 09 73 61 76 65 5f 69 66 73 3d 22 24 49 46  ...save_ifs="$IF
131a0 53 22 3b 20 49 46 53 3d 27 3a 27 0a 09 73 65 74  S"; IFS=':'..set
131b0 20 64 75 6d 6d 79 20 24 76 69 6e 66 6f 20 30 20   dummy $vinfo 0 
131c0 30 20 30 0a 09 49 46 53 3d 22 24 73 61 76 65 5f  0 0..IFS="$save_
131d0 69 66 73 22 0a 0a 09 69 66 20 74 65 73 74 20 2d  ifs"...if test -
131e0 6e 20 22 24 38 22 3b 20 74 68 65 6e 0a 09 20 20  n "$8"; then..  
131f0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
13200 3a 20 74 6f 6f 20 6d 61 6e 79 20 70 61 72 61 6d  : too many param
13210 65 74 65 72 73 20 74 6f 20 5c 60 2d 76 65 72 73  eters to \`-vers
13220 69 6f 6e 2d 69 6e 66 6f 27 22 20 31 3e 26 32 0a  ion-info'" 1>&2.
13230 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22  .  $echo "$help"
13240 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a   1>&2..  exit 1.
13250 09 66 69 0a 0a 09 23 20 63 6f 6e 76 65 72 74 20  .fi...# convert 
13260 61 62 73 6f 6c 75 74 65 20 76 65 72 73 69 6f 6e  absolute version
13270 20 6e 75 6d 62 65 72 73 20 74 6f 20 6c 69 62 74   numbers to libt
13280 6f 6f 6c 20 61 67 65 73 0a 09 23 20 74 68 69 73  ool ages..# this
13290 20 72 65 74 61 69 6e 73 20 63 6f 6d 70 61 74 69   retains compati
132a0 62 69 6c 69 74 79 20 77 69 74 68 20 2e 6c 61 20  bility with .la 
132b0 66 69 6c 65 73 20 61 6e 64 20 61 74 74 65 6d 70  files and attemp
132c0 74 73 0a 09 23 20 74 6f 20 6d 61 6b 65 20 74 68  ts..# to make th
132d0 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 61 20 62  e code below a b
132e0 69 74 20 6d 6f 72 65 20 63 6f 6d 70 72 65 68 65  it more comprehe
132f0 6e 73 69 62 6c 65 0a 09 0a 09 63 61 73 65 20 24  nsible....case $
13300 76 69 6e 66 6f 5f 6e 75 6d 62 65 72 20 69 6e 0a  vinfo_number in.
13310 09 79 65 73 29 0a 09 20 20 6e 75 6d 62 65 72 5f  .yes)..  number_
13320 6d 61 6a 6f 72 3d 22 24 32 22 0a 09 20 20 6e 75  major="$2"..  nu
13330 6d 62 65 72 5f 6d 69 6e 6f 72 3d 22 24 33 22 0a  mber_minor="$3".
13340 09 20 20 6e 75 6d 62 65 72 5f 72 65 76 69 73 69  .  number_revisi
13350 6f 6e 3d 22 24 34 22 0a 09 20 20 23 0a 09 20 20  on="$4"..  #..  
13360 23 20 54 68 65 72 65 20 61 72 65 20 72 65 61 6c  # There are real
13370 6c 79 20 6f 6e 6c 79 20 74 77 6f 20 6b 69 6e 64  ly only two kind
13380 73 20 2d 2d 20 74 68 6f 73 65 20 74 68 61 74 0a  s -- those that.
13390 09 20 20 23 20 75 73 65 20 74 68 65 20 63 75 72  .  # use the cur
133a0 72 65 6e 74 20 72 65 76 69 73 69 6f 6e 20 61 73  rent revision as
133b0 20 74 68 65 20 6d 61 6a 6f 72 20 76 65 72 73 69   the major versi
133c0 6f 6e 0a 09 20 20 23 20 61 6e 64 20 74 68 6f 73  on..  # and thos
133d0 65 20 74 68 61 74 20 73 75 62 74 72 61 63 74 20  e that subtract 
133e0 61 67 65 20 61 6e 64 20 75 73 65 20 61 67 65 20  age and use age 
133f0 61 73 0a 09 20 20 23 20 61 20 6d 69 6e 6f 72 20  as..  # a minor 
13400 76 65 72 73 69 6f 6e 2e 20 20 42 75 74 2c 20 74  version.  But, t
13410 68 65 6e 20 74 68 65 72 65 20 69 73 20 69 72 69  hen there is iri
13420 78 0a 09 20 20 23 20 77 68 69 63 68 20 68 61 73  x..  # which has
13430 20 61 6e 20 65 78 74 72 61 20 31 20 61 64 64 65   an extra 1 adde
13440 64 20 6a 75 73 74 20 66 6f 72 20 66 75 6e 0a 09  d just for fun..
13450 20 20 23 0a 09 20 20 63 61 73 65 20 24 76 65 72    #..  case $ver
13460 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a 09 20 20  sion_type in..  
13470 64 61 72 77 69 6e 7c 6c 69 6e 75 78 7c 6f 73 66  darwin|linux|osf
13480 7c 77 69 6e 64 6f 77 73 29 0a 09 20 20 20 20 63  |windows)..    c
13490 75 72 72 65 6e 74 3d 60 65 78 70 72 20 24 6e 75  urrent=`expr $nu
134a0 6d 62 65 72 5f 6d 61 6a 6f 72 20 2b 20 24 6e 75  mber_major + $nu
134b0 6d 62 65 72 5f 6d 69 6e 6f 72 60 0a 09 20 20 20  mber_minor`..   
134c0 20 61 67 65 3d 22 24 6e 75 6d 62 65 72 5f 6d 69   age="$number_mi
134d0 6e 6f 72 22 0a 09 20 20 20 20 72 65 76 69 73 69  nor"..    revisi
134e0 6f 6e 3d 22 24 6e 75 6d 62 65 72 5f 72 65 76 69  on="$number_revi
134f0 73 69 6f 6e 22 0a 09 20 20 20 20 3b 3b 0a 09 20  sion"..    ;;.. 
13500 20 66 72 65 65 62 73 64 2d 61 6f 75 74 7c 66 72   freebsd-aout|fr
13510 65 65 62 73 64 2d 65 6c 66 7c 73 75 6e 6f 73 29  eebsd-elf|sunos)
13520 0a 09 20 20 20 20 63 75 72 72 65 6e 74 3d 22 24  ..    current="$
13530 6e 75 6d 62 65 72 5f 6d 61 6a 6f 72 22 0a 09 20  number_major".. 
13540 20 20 20 72 65 76 69 73 69 6f 6e 3d 22 24 6e 75     revision="$nu
13550 6d 62 65 72 5f 6d 69 6e 6f 72 22 0a 09 20 20 20  mber_minor"..   
13560 20 61 67 65 3d 22 30 22 0a 09 20 20 20 20 3b 3b   age="0"..    ;;
13570 0a 09 20 20 69 72 69 78 7c 6e 6f 6e 73 74 6f 70  ..  irix|nonstop
13580 75 78 29 0a 09 20 20 20 20 63 75 72 72 65 6e 74  ux)..    current
13590 3d 60 65 78 70 72 20 24 6e 75 6d 62 65 72 5f 6d  =`expr $number_m
135a0 61 6a 6f 72 20 2b 20 24 6e 75 6d 62 65 72 5f 6d  ajor + $number_m
135b0 69 6e 6f 72 20 2d 20 31 60 0a 09 20 20 20 20 61  inor - 1`..    a
135c0 67 65 3d 22 24 6e 75 6d 62 65 72 5f 6d 69 6e 6f  ge="$number_mino
135d0 72 22 0a 09 20 20 20 20 72 65 76 69 73 69 6f 6e  r"..    revision
135e0 3d 22 24 6e 75 6d 62 65 72 5f 6d 69 6e 6f 72 22  ="$number_minor"
135f0 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63  ..    ;;..  esac
13600 0a 09 20 20 3b 3b 0a 09 6e 6f 29 0a 09 20 20 63  ..  ;;..no)..  c
13610 75 72 72 65 6e 74 3d 22 24 32 22 0a 09 20 20 72  urrent="$2"..  r
13620 65 76 69 73 69 6f 6e 3d 22 24 33 22 0a 09 20 20  evision="$3"..  
13630 61 67 65 3d 22 24 34 22 0a 09 20 20 3b 3b 0a 09  age="$4"..  ;;..
13640 65 73 61 63 0a 0a 09 23 20 43 68 65 63 6b 20 74  esac...# Check t
13650 68 61 74 20 65 61 63 68 20 6f 66 20 74 68 65 20  hat each of the 
13660 74 68 69 6e 67 73 20 61 72 65 20 76 61 6c 69 64  things are valid
13670 20 6e 75 6d 62 65 72 73 2e 0a 09 63 61 73 65 20   numbers...case 
13680 24 63 75 72 72 65 6e 74 20 69 6e 0a 09 30 20 7c  $current in..0 |
13690 20 5b 31 2d 39 5d 20 7c 20 5b 31 2d 39 5d 5b 30   [1-9] | [1-9][0
136a0 2d 39 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d  -9] | [1-9][0-9]
136b0 5b 30 2d 39 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20  [0-9]) ;;..*).. 
136c0 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
136d0 65 3a 20 43 55 52 52 45 4e 54 20 5c 60 24 63 75  e: CURRENT \`$cu
136e0 72 72 65 6e 74 27 20 69 73 20 6e 6f 74 20 61 20  rrent' is not a 
136f0 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65  nonnegative inte
13700 67 65 72 22 20 31 3e 26 32 0a 09 20 20 24 65 63  ger" 1>&2..  $ec
13710 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
13720 60 24 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20  `$vinfo' is not 
13730 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 69 6e  valid version in
13740 66 6f 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a  formation" 1>&2.
13750 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a  .  exit 1..  ;;.
13760 09 65 73 61 63 0a 0a 09 63 61 73 65 20 24 72 65  .esac...case $re
13770 76 69 73 69 6f 6e 20 69 6e 0a 09 30 20 7c 20 5b  vision in..0 | [
13780 31 2d 39 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39  1-9] | [1-9][0-9
13790 5d 20 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 5b 30  ] | [1-9][0-9][0
137a0 2d 39 5d 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24  -9]) ;;..*)..  $
137b0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
137c0 20 52 45 56 49 53 49 4f 4e 20 5c 60 24 72 65 76   REVISION \`$rev
137d0 69 73 69 6f 6e 27 20 69 73 20 6e 6f 74 20 61 20  ision' is not a 
137e0 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65  nonnegative inte
137f0 67 65 72 22 20 31 3e 26 32 0a 09 20 20 24 65 63  ger" 1>&2..  $ec
13800 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
13810 60 24 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74 20  `$vinfo' is not 
13820 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 69 6e  valid version in
13830 66 6f 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32 0a  formation" 1>&2.
13840 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a  .  exit 1..  ;;.
13850 09 65 73 61 63 0a 0a 09 63 61 73 65 20 24 61 67  .esac...case $ag
13860 65 20 69 6e 0a 09 30 20 7c 20 5b 31 2d 39 5d 20  e in..0 | [1-9] 
13870 7c 20 5b 31 2d 39 5d 5b 30 2d 39 5d 20 7c 20 5b  | [1-9][0-9] | [
13880 31 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 29 20  1-9][0-9][0-9]) 
13890 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68 6f 20  ;;..*)..  $echo 
138a0 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 41 47 45 20  "$modename: AGE 
138b0 5c 60 24 61 67 65 27 20 69 73 20 6e 6f 74 20 61  \`$age' is not a
138c0 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74   nonnegative int
138d0 65 67 65 72 22 20 31 3e 26 32 0a 09 20 20 24 65  eger" 1>&2..  $e
138e0 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
138f0 5c 60 24 76 69 6e 66 6f 27 20 69 73 20 6e 6f 74  \`$vinfo' is not
13900 20 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 69   valid version i
13910 6e 66 6f 72 6d 61 74 69 6f 6e 22 20 31 3e 26 32  nformation" 1>&2
13920 0a 09 20 20 65 78 69 74 20 31 0a 09 20 20 3b 3b  ..  exit 1..  ;;
13930 0a 09 65 73 61 63 0a 0a 09 69 66 20 74 65 73 74  ..esac...if test
13940 20 22 24 61 67 65 22 20 2d 67 74 20 22 24 63 75   "$age" -gt "$cu
13950 72 72 65 6e 74 22 3b 20 74 68 65 6e 0a 09 20 20  rrent"; then..  
13960 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
13970 3a 20 41 47 45 20 5c 60 24 61 67 65 27 20 69 73  : AGE \`$age' is
13980 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68   greater than th
13990 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 66  e current interf
139a0 61 63 65 20 6e 75 6d 62 65 72 20 5c 60 24 63 75  ace number \`$cu
139b0 72 72 65 6e 74 27 22 20 31 3e 26 32 0a 09 20 20  rrent'" 1>&2..  
139c0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
139d0 3a 20 5c 60 24 76 69 6e 66 6f 27 20 69 73 20 6e  : \`$vinfo' is n
139e0 6f 74 20 76 61 6c 69 64 20 76 65 72 73 69 6f 6e  ot valid version
139f0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 22 20 31 3e   information" 1>
13a00 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69  &2..  exit 1..fi
13a10 0a 0a 09 23 20 43 61 6c 63 75 6c 61 74 65 20 74  ...# Calculate t
13a20 68 65 20 76 65 72 73 69 6f 6e 20 76 61 72 69 61  he version varia
13a30 62 6c 65 73 2e 0a 09 6d 61 6a 6f 72 3d 0a 09 76  bles...major=..v
13a40 65 72 73 75 66 66 69 78 3d 0a 09 76 65 72 73 74  ersuffix=..verst
13a50 72 69 6e 67 3d 0a 09 63 61 73 65 20 24 76 65 72  ring=..case $ver
13a60 73 69 6f 6e 5f 74 79 70 65 20 69 6e 0a 09 6e 6f  sion_type in..no
13a70 6e 65 29 20 3b 3b 0a 0a 09 64 61 72 77 69 6e 29  ne) ;;...darwin)
13a80 0a 09 20 20 23 20 4c 69 6b 65 20 4c 69 6e 75 78  ..  # Like Linux
13a90 2c 20 62 75 74 20 77 69 74 68 20 74 68 65 20 63  , but with the c
13aa0 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 61  urrent version a
13ab0 76 61 69 6c 61 62 6c 65 20 69 6e 0a 09 20 20 23  vailable in..  #
13ac0 20 76 65 72 73 74 72 69 6e 67 20 66 6f 72 20 63   verstring for c
13ad0 6f 64 69 6e 67 20 69 74 20 69 6e 74 6f 20 74 68  oding it into th
13ae0 65 20 6c 69 62 72 61 72 79 20 68 65 61 64 65 72  e library header
13af0 0a 09 20 20 6d 61 6a 6f 72 3d 2e 60 65 78 70 72  ..  major=.`expr
13b00 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61 67 65   $current - $age
13b10 60 0a 09 20 20 76 65 72 73 75 66 66 69 78 3d 22  `..  versuffix="
13b20 24 6d 61 6a 6f 72 2e 24 61 67 65 2e 24 72 65 76  $major.$age.$rev
13b30 69 73 69 6f 6e 22 0a 09 20 20 23 20 44 61 72 77  ision"..  # Darw
13b40 69 6e 20 6c 64 20 64 6f 65 73 6e 27 74 20 6c 69  in ld doesn't li
13b50 6b 65 20 30 20 66 6f 72 20 74 68 65 73 65 20 6f  ke 0 for these o
13b60 70 74 69 6f 6e 73 2e 2e 2e 0a 09 20 20 6d 69 6e  ptions.....  min
13b70 6f 72 5f 63 75 72 72 65 6e 74 3d 60 65 78 70 72  or_current=`expr
13b80 20 24 63 75 72 72 65 6e 74 20 2b 20 31 60 0a 09   $current + 1`..
13b90 20 20 76 65 72 73 74 72 69 6e 67 3d 22 2d 63 6f    verstring="-co
13ba0 6d 70 61 74 69 62 69 6c 69 74 79 5f 76 65 72 73  mpatibility_vers
13bb0 69 6f 6e 20 24 6d 69 6e 6f 72 5f 63 75 72 72 65  ion $minor_curre
13bc0 6e 74 20 2d 63 75 72 72 65 6e 74 5f 76 65 72 73  nt -current_vers
13bd0 69 6f 6e 20 24 6d 69 6e 6f 72 5f 63 75 72 72 65  ion $minor_curre
13be0 6e 74 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09 20  nt.$revision".. 
13bf0 20 3b 3b 0a 0a 09 66 72 65 65 62 73 64 2d 61 6f   ;;...freebsd-ao
13c00 75 74 29 0a 09 20 20 6d 61 6a 6f 72 3d 22 2e 24  ut)..  major=".$
13c10 63 75 72 72 65 6e 74 22 0a 09 20 20 76 65 72 73  current"..  vers
13c20 75 66 66 69 78 3d 22 2e 24 63 75 72 72 65 6e 74  uffix=".$current
13c30 2e 24 72 65 76 69 73 69 6f 6e 22 3b 0a 09 20 20  .$revision";..  
13c40 3b 3b 0a 0a 09 66 72 65 65 62 73 64 2d 65 6c 66  ;;...freebsd-elf
13c50 29 0a 09 20 20 6d 61 6a 6f 72 3d 22 2e 24 63 75  )..  major=".$cu
13c60 72 72 65 6e 74 22 0a 09 20 20 76 65 72 73 75 66  rrent"..  versuf
13c70 66 69 78 3d 22 2e 24 63 75 72 72 65 6e 74 22 3b  fix=".$current";
13c80 0a 09 20 20 3b 3b 0a 0a 09 69 72 69 78 20 7c 20  ..  ;;...irix | 
13c90 6e 6f 6e 73 74 6f 70 75 78 29 0a 09 20 20 6d 61  nonstopux)..  ma
13ca0 6a 6f 72 3d 60 65 78 70 72 20 24 63 75 72 72 65  jor=`expr $curre
13cb0 6e 74 20 2d 20 24 61 67 65 20 2b 20 31 60 0a 0a  nt - $age + 1`..
13cc0 09 20 20 63 61 73 65 20 24 76 65 72 73 69 6f 6e  .  case $version
13cd0 5f 74 79 70 65 20 69 6e 0a 09 20 20 20 20 6e 6f  _type in..    no
13ce0 6e 73 74 6f 70 75 78 29 20 76 65 72 73 74 72 69  nstopux) verstri
13cf0 6e 67 5f 70 72 65 66 69 78 3d 6e 6f 6e 73 74 6f  ng_prefix=nonsto
13d00 70 75 78 20 3b 3b 0a 09 20 20 20 20 2a 29 20 20  pux ;;..    *)  
13d10 20 20 20 20 20 20 20 76 65 72 73 74 72 69 6e 67         verstring
13d20 5f 70 72 65 66 69 78 3d 73 67 69 20 3b 3b 0a 09  _prefix=sgi ;;..
13d30 20 20 65 73 61 63 0a 09 20 20 76 65 72 73 74 72    esac..  verstr
13d40 69 6e 67 3d 22 24 76 65 72 73 74 72 69 6e 67 5f  ing="$verstring_
13d50 70 72 65 66 69 78 24 6d 61 6a 6f 72 2e 24 72 65  prefix$major.$re
13d60 76 69 73 69 6f 6e 22 0a 0a 09 20 20 23 20 41 64  vision"...  # Ad
13d70 64 20 69 6e 20 61 6c 6c 20 74 68 65 20 69 6e 74  d in all the int
13d80 65 72 66 61 63 65 73 20 74 68 61 74 20 77 65 20  erfaces that we 
13d90 61 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77  are compatible w
13da0 69 74 68 2e 0a 09 20 20 6c 6f 6f 70 3d 24 72 65  ith...  loop=$re
13db0 76 69 73 69 6f 6e 0a 09 20 20 77 68 69 6c 65 20  vision..  while 
13dc0 74 65 73 74 20 22 24 6c 6f 6f 70 22 20 2d 6e 65  test "$loop" -ne
13dd0 20 30 3b 20 64 6f 0a 09 20 20 20 20 69 66 61 63   0; do..    ifac
13de0 65 3d 60 65 78 70 72 20 24 72 65 76 69 73 69 6f  e=`expr $revisio
13df0 6e 20 2d 20 24 6c 6f 6f 70 60 0a 09 20 20 20 20  n - $loop`..    
13e00 6c 6f 6f 70 3d 60 65 78 70 72 20 24 6c 6f 6f 70  loop=`expr $loop
13e10 20 2d 20 31 60 0a 09 20 20 20 20 76 65 72 73 74   - 1`..    verst
13e20 72 69 6e 67 3d 22 24 76 65 72 73 74 72 69 6e 67  ring="$verstring
13e30 5f 70 72 65 66 69 78 24 6d 61 6a 6f 72 2e 24 69  _prefix$major.$i
13e40 66 61 63 65 3a 24 76 65 72 73 74 72 69 6e 67 22  face:$verstring"
13e50 0a 09 20 20 64 6f 6e 65 0a 0a 09 20 20 23 20 42  ..  done...  # B
13e60 65 66 6f 72 65 20 74 68 69 73 20 70 6f 69 6e 74  efore this point
13e70 2c 20 24 6d 61 6a 6f 72 20 6d 75 73 74 20 6e 6f  , $major must no
13e80 74 20 63 6f 6e 74 61 69 6e 20 60 2e 27 2e 0a 09  t contain `.'...
13e90 20 20 6d 61 6a 6f 72 3d 2e 24 6d 61 6a 6f 72 0a    major=.$major.
13ea0 09 20 20 76 65 72 73 75 66 66 69 78 3d 22 24 6d  .  versuffix="$m
13eb0 61 6a 6f 72 2e 24 72 65 76 69 73 69 6f 6e 22 0a  ajor.$revision".
13ec0 09 20 20 3b 3b 0a 0a 09 6c 69 6e 75 78 29 0a 09  .  ;;...linux)..
13ed0 20 20 6d 61 6a 6f 72 3d 2e 60 65 78 70 72 20 24    major=.`expr $
13ee0 63 75 72 72 65 6e 74 20 2d 20 24 61 67 65 60 0a  current - $age`.
13ef0 09 20 20 76 65 72 73 75 66 66 69 78 3d 22 24 6d  .  versuffix="$m
13f00 61 6a 6f 72 2e 24 61 67 65 2e 24 72 65 76 69 73  ajor.$age.$revis
13f10 69 6f 6e 22 0a 09 20 20 3b 3b 0a 0a 09 6f 73 66  ion"..  ;;...osf
13f20 29 0a 09 20 20 6d 61 6a 6f 72 3d 2e 60 65 78 70  )..  major=.`exp
13f30 72 20 24 63 75 72 72 65 6e 74 20 2d 20 24 61 67  r $current - $ag
13f40 65 60 0a 09 20 20 76 65 72 73 75 66 66 69 78 3d  e`..  versuffix=
13f50 22 2e 24 63 75 72 72 65 6e 74 2e 24 61 67 65 2e  ".$current.$age.
13f60 24 72 65 76 69 73 69 6f 6e 22 0a 09 20 20 76 65  $revision"..  ve
13f70 72 73 74 72 69 6e 67 3d 22 24 63 75 72 72 65 6e  rstring="$curren
13f80 74 2e 24 61 67 65 2e 24 72 65 76 69 73 69 6f 6e  t.$age.$revision
13f90 22 0a 0a 09 20 20 23 20 41 64 64 20 69 6e 20 61  "...  # Add in a
13fa0 6c 6c 20 74 68 65 20 69 6e 74 65 72 66 61 63 65  ll the interface
13fb0 73 20 74 68 61 74 20 77 65 20 61 72 65 20 63 6f  s that we are co
13fc0 6d 70 61 74 69 62 6c 65 20 77 69 74 68 2e 0a 09  mpatible with...
13fd0 20 20 6c 6f 6f 70 3d 24 61 67 65 0a 09 20 20 77    loop=$age..  w
13fe0 68 69 6c 65 20 74 65 73 74 20 22 24 6c 6f 6f 70  hile test "$loop
13ff0 22 20 2d 6e 65 20 30 3b 20 64 6f 0a 09 20 20 20  " -ne 0; do..   
14000 20 69 66 61 63 65 3d 60 65 78 70 72 20 24 63 75   iface=`expr $cu
14010 72 72 65 6e 74 20 2d 20 24 6c 6f 6f 70 60 0a 09  rrent - $loop`..
14020 20 20 20 20 6c 6f 6f 70 3d 60 65 78 70 72 20 24      loop=`expr $
14030 6c 6f 6f 70 20 2d 20 31 60 0a 09 20 20 20 20 76  loop - 1`..    v
14040 65 72 73 74 72 69 6e 67 3d 22 24 76 65 72 73 74  erstring="$verst
14050 72 69 6e 67 3a 24 7b 69 66 61 63 65 7d 2e 30 22  ring:${iface}.0"
14060 0a 09 20 20 64 6f 6e 65 0a 0a 09 20 20 23 20 4d  ..  done...  # M
14070 61 6b 65 20 65 78 65 63 75 74 61 62 6c 65 73 20  ake executables 
14080 64 65 70 65 6e 64 20 6f 6e 20 6f 75 72 20 63 75  depend on our cu
14090 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 2e 0a 09  rrent version...
140a0 20 20 76 65 72 73 74 72 69 6e 67 3d 22 24 76 65    verstring="$ve
140b0 72 73 74 72 69 6e 67 3a 24 7b 63 75 72 72 65 6e  rstring:${curren
140c0 74 7d 2e 30 22 0a 09 20 20 3b 3b 0a 0a 09 73 75  t}.0"..  ;;...su
140d0 6e 6f 73 29 0a 09 20 20 6d 61 6a 6f 72 3d 22 2e  nos)..  major=".
140e0 24 63 75 72 72 65 6e 74 22 0a 09 20 20 76 65 72  $current"..  ver
140f0 73 75 66 66 69 78 3d 22 2e 24 63 75 72 72 65 6e  suffix=".$curren
14100 74 2e 24 72 65 76 69 73 69 6f 6e 22 0a 09 20 20  t.$revision"..  
14110 3b 3b 0a 0a 09 77 69 6e 64 6f 77 73 29 0a 09 20  ;;...windows).. 
14120 20 23 20 55 73 65 20 27 2d 27 20 72 61 74 68 65   # Use '-' rathe
14130 72 20 74 68 61 6e 20 27 2e 27 2c 20 73 69 6e 63  r than '.', sinc
14140 65 20 77 65 20 6f 6e 6c 79 20 77 61 6e 74 20 6f  e we only want o
14150 6e 65 0a 09 20 20 23 20 65 78 74 65 6e 73 69 6f  ne..  # extensio
14160 6e 20 6f 6e 20 44 4f 53 20 38 2e 33 20 66 69 6c  n on DOS 8.3 fil
14170 65 73 79 73 74 65 6d 73 2e 0a 09 20 20 6d 61 6a  esystems...  maj
14180 6f 72 3d 60 65 78 70 72 20 24 63 75 72 72 65 6e  or=`expr $curren
14190 74 20 2d 20 24 61 67 65 60 0a 09 20 20 76 65 72  t - $age`..  ver
141a0 73 75 66 66 69 78 3d 22 2d 24 6d 61 6a 6f 72 22  suffix="-$major"
141b0 0a 09 20 20 3b 3b 0a 0a 09 2a 29 0a 09 20 20 24  ..  ;;...*)..  $
141c0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
141d0 20 75 6e 6b 6e 6f 77 6e 20 6c 69 62 72 61 72 79   unknown library
141e0 20 76 65 72 73 69 6f 6e 20 74 79 70 65 20 5c 60   version type \`
141f0 24 76 65 72 73 69 6f 6e 5f 74 79 70 65 27 22 20  $version_type'" 
14200 31 3e 26 32 0a 09 20 20 24 65 63 68 6f 20 22 46  1>&2..  $echo "F
14210 61 74 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69  atal configurati
14220 6f 6e 20 65 72 72 6f 72 2e 20 20 53 65 65 20 74  on error.  See t
14230 68 65 20 24 50 41 43 4b 41 47 45 20 64 6f 63 73  he $PACKAGE docs
14240 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d   for more inform
14250 61 74 69 6f 6e 2e 22 20 31 3e 26 32 0a 09 20 20  ation." 1>&2..  
14260 65 78 69 74 20 31 0a 09 20 20 3b 3b 0a 09 65 73  exit 1..  ;;..es
14270 61 63 0a 0a 09 23 20 43 6c 65 61 72 20 74 68 65  ac...# Clear the
14280 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 69 66   version info if
14290 20 77 65 20 64 65 66 61 75 6c 74 65 64 2c 20 61   we defaulted, a
142a0 6e 64 20 74 68 65 79 20 73 70 65 63 69 66 69 65  nd they specifie
142b0 64 20 61 20 72 65 6c 65 61 73 65 2e 0a 09 69 66  d a release...if
142c0 20 74 65 73 74 20 2d 7a 20 22 24 76 69 6e 66 6f   test -z "$vinfo
142d0 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 72  " && test -n "$r
142e0 65 6c 65 61 73 65 22 3b 20 74 68 65 6e 0a 09 20  elease"; then.. 
142f0 20 6d 61 6a 6f 72 3d 0a 09 20 20 63 61 73 65 20   major=..  case 
14300 24 76 65 72 73 69 6f 6e 5f 74 79 70 65 20 69 6e  $version_type in
14310 0a 09 20 20 64 61 72 77 69 6e 29 0a 09 20 20 20  ..  darwin)..   
14320 20 23 20 77 65 20 63 61 6e 27 74 20 63 68 65 63   # we can't chec
14330 6b 20 66 6f 72 20 22 30 2e 30 22 20 69 6e 20 61  k for "0.0" in a
14340 72 63 68 69 76 65 5f 63 6d 64 73 20 64 75 65 20  rchive_cmds due 
14350 74 6f 20 71 75 6f 74 69 6e 67 0a 09 20 20 20 20  to quoting..    
14360 23 20 70 72 6f 62 6c 65 6d 73 2c 20 73 6f 20 77  # problems, so w
14370 65 20 72 65 73 65 74 20 69 74 20 63 6f 6d 70 6c  e reset it compl
14380 65 74 65 6c 79 0a 09 20 20 20 20 76 65 72 73 74  etely..    verst
14390 72 69 6e 67 3d 0a 09 20 20 20 20 3b 3b 0a 09 20  ring=..    ;;.. 
143a0 20 2a 29 0a 09 20 20 20 20 76 65 72 73 74 72 69   *)..    verstri
143b0 6e 67 3d 22 30 2e 30 22 0a 09 20 20 20 20 3b 3b  ng="0.0"..    ;;
143c0 0a 09 20 20 65 73 61 63 0a 09 20 20 69 66 20 74  ..  esac..  if t
143d0 65 73 74 20 22 24 6e 65 65 64 5f 76 65 72 73 69  est "$need_versi
143e0 6f 6e 22 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09  on" = no; then..
143f0 20 20 20 20 76 65 72 73 75 66 66 69 78 3d 0a 09      versuffix=..
14400 20 20 65 6c 73 65 0a 09 20 20 20 20 76 65 72 73    else..    vers
14410 75 66 66 69 78 3d 22 2e 30 2e 30 22 0a 09 20 20  uffix=".0.0"..  
14420 66 69 0a 09 66 69 0a 0a 09 23 20 52 65 6d 6f 76  fi..fi...# Remov
14430 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 66  e version info f
14440 72 6f 6d 20 6e 61 6d 65 20 69 66 20 76 65 72 73  rom name if vers
14450 69 6f 6e 69 6e 67 20 73 68 6f 75 6c 64 20 62 65  ioning should be
14460 20 61 76 6f 69 64 65 64 0a 09 69 66 20 74 65 73   avoided..if tes
14470 74 20 22 24 61 76 6f 69 64 5f 76 65 72 73 69 6f  t "$avoid_versio
14480 6e 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  n" = yes && test
14490 20 22 24 6e 65 65 64 5f 76 65 72 73 69 6f 6e 22   "$need_version"
144a0 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 6d   = no; then..  m
144b0 61 6a 6f 72 3d 0a 09 20 20 76 65 72 73 75 66 66  ajor=..  versuff
144c0 69 78 3d 0a 09 20 20 76 65 72 73 74 72 69 6e 67  ix=..  verstring
144d0 3d 22 22 0a 09 66 69 0a 0a 09 23 20 43 68 65 63  =""..fi...# Chec
144e0 6b 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 20  k to see if the 
144f0 61 72 63 68 69 76 65 20 77 69 6c 6c 20 68 61 76  archive will hav
14500 65 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62  e undefined symb
14510 6f 6c 73 2e 0a 09 69 66 20 74 65 73 74 20 22 24  ols...if test "$
14520 61 6c 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 22  allow_undefined"
14530 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20   = yes; then..  
14540 69 66 20 74 65 73 74 20 22 24 61 6c 6c 6f 77 5f  if test "$allow_
14550 75 6e 64 65 66 69 6e 65 64 5f 66 6c 61 67 22 20  undefined_flag" 
14560 3d 20 75 6e 73 75 70 70 6f 72 74 65 64 3b 20 74  = unsupported; t
14570 68 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 20 22  hen..    $echo "
14580 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
14590 6e 67 3a 20 75 6e 64 65 66 69 6e 65 64 20 73 79  ng: undefined sy
145a0 6d 62 6f 6c 73 20 6e 6f 74 20 61 6c 6c 6f 77 65  mbols not allowe
145b0 64 20 69 6e 20 24 68 6f 73 74 20 73 68 61 72 65  d in $host share
145c0 64 20 6c 69 62 72 61 72 69 65 73 22 20 31 3e 26  d libraries" 1>&
145d0 32 0a 09 20 20 20 20 62 75 69 6c 64 5f 6c 69 62  2..    build_lib
145e0 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20  tool_libs=no..  
145f0 20 20 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73    build_old_libs
14600 3d 79 65 73 0a 09 20 20 66 69 0a 09 65 6c 73 65  =yes..  fi..else
14610 0a 09 20 20 23 20 44 6f 6e 27 74 20 61 6c 6c 6f  ..  # Don't allo
14620 77 20 75 6e 64 65 66 69 6e 65 64 20 73 79 6d 62  w undefined symb
14630 6f 6c 73 2e 0a 09 20 20 61 6c 6c 6f 77 5f 75 6e  ols...  allow_un
14640 64 65 66 69 6e 65 64 5f 66 6c 61 67 3d 22 24 6e  defined_flag="$n
14650 6f 5f 75 6e 64 65 66 69 6e 65 64 5f 66 6c 61 67  o_undefined_flag
14660 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a  "..fi.      fi..
14670 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24        if test "$
14680 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69 6e 6b 3b  mode" != relink;
14690 20 74 68 65 6e 0a 09 23 20 52 65 6d 6f 76 65 20   then..# Remove 
146a0 6f 75 72 20 6f 75 74 70 75 74 73 2c 20 62 75 74  our outputs, but
146b0 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 6f 62   don't remove ob
146c0 6a 65 63 74 20 66 69 6c 65 73 20 73 69 6e 63 65  ject files since
146d0 20 74 68 65 79 0a 09 23 20 6d 61 79 20 68 61 76   they..# may hav
146e0 65 20 62 65 65 6e 20 63 72 65 61 74 65 64 20 77  e been created w
146f0 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 50 49  hen compiling PI
14700 43 20 6f 62 6a 65 63 74 73 2e 0a 09 72 65 6d 6f  C objects...remo
14710 76 65 6c 69 73 74 3d 0a 09 74 65 6d 70 72 65 6d  velist=..temprem
14720 6f 76 65 6c 69 73 74 3d 60 24 65 63 68 6f 20 22  ovelist=`$echo "
14730 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 2a  $output_objdir/*
14740 22 60 0a 09 66 6f 72 20 70 20 69 6e 20 24 74 65  "`..for p in $te
14750 6d 70 72 65 6d 6f 76 65 6c 69 73 74 3b 20 64 6f  mpremovelist; do
14760 0a 09 20 20 63 61 73 65 20 24 70 20 69 6e 0a 09  ..  case $p in..
14770 20 20 20 20 2a 2e 24 6f 62 6a 65 78 74 29 0a 09      *.$objext)..
14780 20 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 24         ;;..    $
14790 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6f  output_objdir/$o
147a0 75 74 70 75 74 6e 61 6d 65 20 7c 20 24 6f 75 74  utputname | $out
147b0 70 75 74 5f 6f 62 6a 64 69 72 2f 24 6c 69 62 6e  put_objdir/$libn
147c0 61 6d 65 2e 2a 20 7c 20 24 6f 75 74 70 75 74 5f  ame.* | $output_
147d0 6f 62 6a 64 69 72 2f 24 7b 6c 69 62 6e 61 6d 65  objdir/${libname
147e0 7d 24 7b 72 65 6c 65 61 73 65 7d 2e 2a 29 0a 09  }${release}.*)..
147f0 20 20 20 20 20 20 20 69 66 20 65 63 68 6f 20 24         if echo $
14800 70 20 7c 20 24 45 47 52 45 50 20 2d 65 20 22 24  p | $EGREP -e "$
14810 70 72 65 63 69 6f 75 73 5f 66 69 6c 65 73 5f 72  precious_files_r
14820 65 67 65 78 22 20 3e 2f 64 65 76 2f 6e 75 6c 6c  egex" >/dev/null
14830 20 32 3e 26 31 0a 09 20 20 20 20 20 20 20 74 68   2>&1..       th
14840 65 6e 0a 09 09 20 63 6f 6e 74 69 6e 75 65 0a 09  en... continue..
14850 20 20 20 20 20 20 20 66 69 0a 09 20 20 20 20 20         fi..     
14860 20 20 72 65 6d 6f 76 65 6c 69 73 74 3d 22 24 72    removelist="$r
14870 65 6d 6f 76 65 6c 69 73 74 20 24 70 22 0a 09 20  emovelist $p".. 
14880 20 20 20 20 20 20 3b 3b 0a 09 20 20 20 20 2a 29        ;;..    *)
14890 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 64 6f 6e   ;;..  esac..don
148a0 65 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24  e..if test -n "$
148b0 72 65 6d 6f 76 65 6c 69 73 74 22 3b 20 74 68 65  removelist"; the
148c0 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d  n..  $show "${rm
148d0 7d 72 20 24 72 65 6d 6f 76 65 6c 69 73 74 22 0a  }r $removelist".
148e0 09 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 24  .  $run ${rm}r $
148f0 72 65 6d 6f 76 65 6c 69 73 74 0a 09 66 69 0a 20  removelist..fi. 
14900 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23       fi..      #
14910 20 4e 6f 77 20 73 65 74 20 74 68 65 20 76 61 72   Now set the var
14920 69 61 62 6c 65 73 20 66 6f 72 20 62 75 69 6c 64  iables for build
14930 69 6e 67 20 6f 6c 64 20 6c 69 62 72 61 72 69 65  ing old librarie
14940 73 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  s..      if test
14950 20 22 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62   "$build_old_lib
14960 73 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  s" = yes && test
14970 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
14980 5f 6c 69 62 73 22 20 21 3d 20 63 6f 6e 76 65 6e  _libs" != conven
14990 69 65 6e 63 65 20 3b 20 74 68 65 6e 0a 09 6f 6c  ience ; then..ol
149a0 64 6c 69 62 73 3d 22 24 6f 6c 64 6c 69 62 73 20  dlibs="$oldlibs 
149b0 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24  $output_objdir/$
149c0 6c 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78 74 22  libname.$libext"
149d0 0a 0a 09 23 20 54 72 61 6e 73 66 6f 72 6d 20 2e  ...# Transform .
149e0 6c 6f 20 66 69 6c 65 73 20 74 6f 20 2e 6f 20 66  lo files to .o f
149f0 69 6c 65 73 2e 0a 09 6f 6c 64 6f 62 6a 73 3d 22  iles...oldobjs="
14a00 24 6f 62 6a 73 20 22 60 24 65 63 68 6f 20 22 58  $objs "`$echo "X
14a10 24 6c 69 62 6f 62 6a 73 22 20 7c 20 24 53 50 32  $libobjs" | $SP2
14a20 4e 4c 20 7c 20 24 58 73 65 64 20 2d 65 20 27 2f  NL | $Xsed -e '/
14a30 5c 2e 27 24 7b 6c 69 62 65 78 74 7d 27 24 2f 64  \.'${libext}'$/d
14a40 27 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24  ' -e "$lo2o" | $
14a50 4e 4c 32 53 50 60 0a 20 20 20 20 20 20 66 69 0a  NL2SP`.      fi.
14a60 0a 20 20 20 20 20 20 23 20 45 6c 69 6d 69 6e 61  .      # Elimina
14a70 74 65 20 61 6c 6c 20 74 65 6d 70 6f 72 61 72 79  te all temporary
14a80 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 20 20   directories..  
14a90 20 20 20 20 66 6f 72 20 70 61 74 68 20 69 6e 20      for path in 
14aa0 24 6e 6f 74 69 6e 73 74 5f 70 61 74 68 3b 20 64  $notinst_path; d
14ab0 6f 0a 09 6c 69 62 5f 73 65 61 72 63 68 5f 70 61  o..lib_search_pa
14ac0 74 68 3d 60 24 65 63 68 6f 20 22 24 6c 69 62 5f  th=`$echo "$lib_
14ad0 73 65 61 72 63 68 5f 70 61 74 68 20 22 20 7c 20  search_path " | 
14ae0 24 7b 53 45 44 7d 20 2d 65 20 27 73 25 20 24 70  ${SED} -e 's% $p
14af0 61 74 68 20 25 20 25 67 27 60 0a 09 64 65 70 6c  ath % %g'`..depl
14b00 69 62 73 3d 60 24 65 63 68 6f 20 22 24 64 65 70  ibs=`$echo "$dep
14b10 6c 69 62 73 20 22 20 7c 20 24 7b 53 45 44 7d 20  libs " | ${SED} 
14b20 2d 65 20 27 73 25 20 2d 4c 24 70 61 74 68 20 25  -e 's% -L$path %
14b30 20 25 67 27 60 0a 09 64 65 70 65 6e 64 65 6e 63   %g'`..dependenc
14b40 79 5f 6c 69 62 73 3d 60 24 65 63 68 6f 20 22 24  y_libs=`$echo "$
14b50 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73 20  dependency_libs 
14b60 22 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27 73  " | ${SED} -e 's
14b70 25 20 2d 4c 24 70 61 74 68 20 25 20 25 67 27 60  % -L$path % %g'`
14b80 0a 20 20 20 20 20 20 64 6f 6e 65 0a 0a 20 20 20  .      done..   
14b90 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
14ba0 78 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 23  xrpath"; then..#
14bb0 20 49 66 20 74 68 65 20 75 73 65 72 20 73 70 65   If the user spe
14bc0 63 69 66 69 65 64 20 61 6e 79 20 72 70 61 74 68  cified any rpath
14bd0 20 66 6c 61 67 73 2c 20 74 68 65 6e 20 61 64 64   flags, then add
14be0 20 74 68 65 6d 2e 0a 09 74 65 6d 70 5f 78 72 70   them...temp_xrp
14bf0 61 74 68 3d 0a 09 66 6f 72 20 6c 69 62 64 69 72  ath=..for libdir
14c00 20 69 6e 20 24 78 72 70 61 74 68 3b 20 64 6f 0a   in $xrpath; do.
14c10 09 20 20 74 65 6d 70 5f 78 72 70 61 74 68 3d 22  .  temp_xrpath="
14c20 24 74 65 6d 70 5f 78 72 70 61 74 68 20 2d 52 24  $temp_xrpath -R$
14c30 6c 69 62 64 69 72 22 0a 09 20 20 63 61 73 65 20  libdir"..  case 
14c40 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68  "$finalize_rpath
14c50 20 22 20 69 6e 0a 09 20 20 2a 22 20 24 6c 69 62   " in..  *" $lib
14c60 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 2a 29  dir "*) ;;..  *)
14c70 20 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3d   finalize_rpath=
14c80 22 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68  "$finalize_rpath
14c90 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09 20 20   $libdir" ;;..  
14ca0 65 73 61 63 0a 09 64 6f 6e 65 0a 09 69 66 20 74  esac..done..if t
14cb0 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f 69  est "$hardcode_i
14cc0 6e 74 6f 5f 6c 69 62 73 22 20 21 3d 20 79 65 73  nto_libs" != yes
14cd0 20 7c 7c 20 74 65 73 74 20 22 24 62 75 69 6c 64   || test "$build
14ce0 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79 65 73  _old_libs" = yes
14cf0 3b 20 74 68 65 6e 0a 09 20 20 64 65 70 65 6e 64  ; then..  depend
14d00 65 6e 63 79 5f 6c 69 62 73 3d 22 24 74 65 6d 70  ency_libs="$temp
14d10 5f 78 72 70 61 74 68 20 24 64 65 70 65 6e 64 65  _xrpath $depende
14d20 6e 63 79 5f 6c 69 62 73 22 0a 09 66 69 0a 20 20  ncy_libs"..fi.  
14d30 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20      fi..      # 
14d40 4d 61 6b 65 20 73 75 72 65 20 64 6c 66 69 6c 65  Make sure dlfile
14d50 73 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20  s contains only 
14d60 75 6e 69 71 75 65 20 66 69 6c 65 73 20 74 68 61  unique files tha
14d70 74 20 77 6f 6e 27 74 20 62 65 20 64 6c 70 72 65  t won't be dlpre
14d80 6f 70 65 6e 65 64 0a 20 20 20 20 20 20 6f 6c 64  opened.      old
14d90 5f 64 6c 66 69 6c 65 73 3d 22 24 64 6c 66 69 6c  _dlfiles="$dlfil
14da0 65 73 22 0a 20 20 20 20 20 20 64 6c 66 69 6c 65  es".      dlfile
14db0 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c 69 62  s=.      for lib
14dc0 20 69 6e 20 24 6f 6c 64 5f 64 6c 66 69 6c 65 73   in $old_dlfiles
14dd0 3b 20 64 6f 0a 09 63 61 73 65 20 22 20 24 64 6c  ; do..case " $dl
14de0 70 72 65 66 69 6c 65 73 20 24 64 6c 66 69 6c 65  prefiles $dlfile
14df0 73 20 22 20 69 6e 0a 09 2a 22 20 24 6c 69 62 20  s " in..*" $lib 
14e00 22 2a 29 20 3b 3b 0a 09 2a 29 20 64 6c 66 69 6c  "*) ;;..*) dlfil
14e10 65 73 3d 22 24 64 6c 66 69 6c 65 73 20 24 6c 69  es="$dlfiles $li
14e20 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20  b" ;;..esac.    
14e30 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 23 20    done..      # 
14e40 4d 61 6b 65 20 73 75 72 65 20 64 6c 70 72 65 66  Make sure dlpref
14e50 69 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20 6f 6e  iles contains on
14e60 6c 79 20 75 6e 69 71 75 65 20 66 69 6c 65 73 0a  ly unique files.
14e70 20 20 20 20 20 20 6f 6c 64 5f 64 6c 70 72 65 66        old_dlpref
14e80 69 6c 65 73 3d 22 24 64 6c 70 72 65 66 69 6c 65  iles="$dlprefile
14e90 73 22 0a 20 20 20 20 20 20 64 6c 70 72 65 66 69  s".      dlprefi
14ea0 6c 65 73 3d 0a 20 20 20 20 20 20 66 6f 72 20 6c  les=.      for l
14eb0 69 62 20 69 6e 20 24 6f 6c 64 5f 64 6c 70 72 65  ib in $old_dlpre
14ec0 66 69 6c 65 73 3b 20 64 6f 0a 09 63 61 73 65 20  files; do..case 
14ed0 22 24 64 6c 70 72 65 66 69 6c 65 73 20 22 20 69  "$dlprefiles " i
14ee0 6e 0a 09 2a 22 20 24 6c 69 62 20 22 2a 29 20 3b  n..*" $lib "*) ;
14ef0 3b 0a 09 2a 29 20 64 6c 70 72 65 66 69 6c 65 73  ;..*) dlprefiles
14f00 3d 22 24 64 6c 70 72 65 66 69 6c 65 73 20 24 6c  ="$dlprefiles $l
14f10 69 62 22 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20  ib" ;;..esac.   
14f20 20 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 69     done..      i
14f30 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6c  f test "$build_l
14f40 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 3d 20 79  ibtool_libs" = y
14f50 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73  es; then..if tes
14f60 74 20 2d 6e 20 22 24 72 70 61 74 68 22 3b 20 74  t -n "$rpath"; t
14f70 68 65 6e 0a 09 20 20 63 61 73 65 20 24 68 6f 73  hen..  case $hos
14f80 74 20 69 6e 0a 09 20 20 2a 2d 2a 2d 63 79 67 77  t in..  *-*-cygw
14f90 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e 67 77 2a  in* | *-*-mingw*
14fa0 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20 7c 20 2a   | *-*-pw32* | *
14fb0 2d 2a 2d 6f 73 32 2a 20 7c 20 2a 2d 2a 2d 62 65  -*-os2* | *-*-be
14fc0 6f 73 2a 29 0a 09 20 20 20 20 23 20 74 68 65 73  os*)..    # thes
14fd0 65 20 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20  e systems don't 
14fe0 61 63 74 75 61 6c 6c 79 20 68 61 76 65 20 61 20  actually have a 
14ff0 63 20 6c 69 62 72 61 72 79 20 28 61 73 20 73 75  c library (as su
15000 63 68 29 21 0a 09 20 20 20 20 3b 3b 0a 09 20 20  ch)!..    ;;..  
15010 2a 2d 2a 2d 72 68 61 70 73 6f 64 79 2a 20 7c 20  *-*-rhapsody* | 
15020 2a 2d 2a 2d 64 61 72 77 69 6e 31 2e 5b 30 31 32  *-*-darwin1.[012
15030 5d 29 0a 09 20 20 20 20 23 20 52 68 61 70 73 6f  ])..    # Rhapso
15040 64 79 20 43 20 6c 69 62 72 61 72 79 20 69 73 20  dy C library is 
15050 69 6e 20 74 68 65 20 53 79 73 74 65 6d 20 66 72  in the System fr
15060 61 6d 65 77 6f 72 6b 0a 09 20 20 20 20 64 65 70  amework..    dep
15070 6c 69 62 73 3d 22 24 64 65 70 6c 69 62 73 20 2d  libs="$deplibs -
15080 66 72 61 6d 65 77 6f 72 6b 20 53 79 73 74 65 6d  framework System
15090 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20 2a 2d 2a  "..    ;;..  *-*
150a0 2d 6e 65 74 62 73 64 2a 29 0a 09 20 20 20 20 23  -netbsd*)..    #
150b0 20 44 6f 6e 27 74 20 6c 69 6e 6b 20 77 69 74 68   Don't link with
150c0 20 6c 69 62 63 20 75 6e 74 69 6c 20 74 68 65 20   libc until the 
150d0 61 2e 6f 75 74 20 6c 64 2e 73 6f 20 69 73 20 66  a.out ld.so is f
150e0 69 78 65 64 2e 0a 09 20 20 20 20 3b 3b 0a 09 20  ixed...    ;;.. 
150f0 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64 2a 20 7c 20   *-*-openbsd* | 
15100 2a 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a 09 20  *-*-freebsd*).. 
15110 20 20 20 23 20 44 6f 20 6e 6f 74 20 69 6e 63 6c     # Do not incl
15120 75 64 65 20 6c 69 62 63 20 64 75 65 20 74 6f 20  ude libc due to 
15130 75 73 20 68 61 76 69 6e 67 20 6c 69 62 63 2f 6c  us having libc/l
15140 69 62 63 5f 72 2e 0a 09 20 20 20 20 74 65 73 74  ibc_r...    test
15150 20 22 58 24 61 72 67 22 20 3d 20 22 58 2d 6c 63   "X$arg" = "X-lc
15160 22 20 26 26 20 63 6f 6e 74 69 6e 75 65 0a 09 20  " && continue.. 
15170 20 20 20 3b 3b 0a 20 09 20 20 2a 29 0a 09 20 20     ;;. .  *)..  
15180 20 20 23 20 41 64 64 20 6c 69 62 63 20 74 6f 20    # Add libc to 
15190 64 65 70 6c 69 62 73 20 6f 6e 20 61 6c 6c 20 6f  deplibs on all o
151a0 74 68 65 72 20 73 79 73 74 65 6d 73 20 69 66 20  ther systems if 
151b0 6e 65 63 65 73 73 61 72 79 2e 0a 09 20 20 20 20  necessary...    
151c0 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
151d0 6c 69 62 74 6f 6f 6c 5f 6e 65 65 64 5f 6c 63 22  libtool_need_lc"
151e0 20 3d 20 22 79 65 73 22 3b 20 74 68 65 6e 0a 09   = "yes"; then..
151f0 20 20 20 20 20 20 64 65 70 6c 69 62 73 3d 22 24        deplibs="$
15200 64 65 70 6c 69 62 73 20 2d 6c 63 22 0a 09 20 20  deplibs -lc"..  
15210 20 20 66 69 0a 09 20 20 20 20 3b 3b 0a 09 20 20    fi..    ;;..  
15220 65 73 61 63 0a 09 66 69 0a 0a 09 23 20 54 72 61  esac..fi...# Tra
15230 6e 73 66 6f 72 6d 20 64 65 70 6c 69 62 73 20 69  nsform deplibs i
15240 6e 74 6f 20 6f 6e 6c 79 20 64 65 70 6c 69 62 73  nto only deplibs
15250 20 74 68 61 74 20 63 61 6e 20 62 65 20 6c 69 6e   that can be lin
15260 6b 65 64 20 69 6e 20 73 68 61 72 65 64 2e 0a 09  ked in shared...
15270 6e 61 6d 65 5f 73 61 76 65 3d 24 6e 61 6d 65 0a  name_save=$name.
15280 09 6c 69 62 6e 61 6d 65 5f 73 61 76 65 3d 24 6c  .libname_save=$l
15290 69 62 6e 61 6d 65 0a 09 72 65 6c 65 61 73 65 5f  ibname..release_
152a0 73 61 76 65 3d 24 72 65 6c 65 61 73 65 0a 09 76  save=$release..v
152b0 65 72 73 75 66 66 69 78 5f 73 61 76 65 3d 24 76  ersuffix_save=$v
152c0 65 72 73 75 66 66 69 78 0a 09 6d 61 6a 6f 72 5f  ersuffix..major_
152d0 73 61 76 65 3d 24 6d 61 6a 6f 72 0a 09 23 20 49  save=$major..# I
152e0 27 6d 20 6e 6f 74 20 73 75 72 65 20 69 66 20 49  'm not sure if I
152f0 27 6d 20 74 72 65 61 74 69 6e 67 20 74 68 65 20  'm treating the 
15300 72 65 6c 65 61 73 65 20 63 6f 72 72 65 63 74 6c  release correctl
15310 79 2e 20 20 49 20 74 68 69 6e 6b 0a 09 23 20 72  y.  I think..# r
15320 65 6c 65 61 73 65 20 73 68 6f 75 6c 64 20 73 68  elease should sh
15330 6f 77 20 75 70 20 69 6e 20 74 68 65 20 2d 6c 20  ow up in the -l 
15340 28 69 65 20 2d 6c 67 6d 70 35 29 20 73 6f 20 77  (ie -lgmp5) so w
15350 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 0a  e don't want to.
15360 09 23 20 61 64 64 20 69 74 20 69 6e 20 74 77 69  .# add it in twi
15370 63 65 2e 20 20 49 73 20 74 68 61 74 20 63 6f 72  ce.  Is that cor
15380 72 65 63 74 3f 0a 09 72 65 6c 65 61 73 65 3d 22  rect?..release="
15390 22 0a 09 76 65 72 73 75 66 66 69 78 3d 22 22 0a  "..versuffix="".
153a0 09 6d 61 6a 6f 72 3d 22 22 0a 09 6e 65 77 64 65  .major=""..newde
153b0 70 6c 69 62 73 3d 0a 09 64 72 6f 70 70 65 64 64  plibs=..droppedd
153c0 65 70 73 3d 6e 6f 0a 09 63 61 73 65 20 24 64 65  eps=no..case $de
153d0 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
153e0 6f 64 20 69 6e 0a 09 70 61 73 73 5f 61 6c 6c 29  od in..pass_all)
153f0 0a 09 20 20 23 20 44 6f 6e 27 74 20 63 68 65 63  ..  # Don't chec
15400 6b 20 66 6f 72 20 73 68 61 72 65 64 2f 73 74 61  k for shared/sta
15410 74 69 63 2e 20 20 45 76 65 72 79 74 68 69 6e 67  tic.  Everything
15420 20 77 6f 72 6b 73 2e 0a 09 20 20 23 20 54 68 69   works...  # Thi
15430 73 20 6d 69 67 68 74 20 62 65 20 61 20 6c 69 74  s might be a lit
15440 74 6c 65 20 6e 61 69 76 65 2e 20 20 57 65 20 6d  tle naive.  We m
15450 69 67 68 74 20 77 61 6e 74 20 74 6f 20 63 68 65  ight want to che
15460 63 6b 0a 09 20 20 23 20 77 68 65 74 68 65 72 20  ck..  # whether 
15470 74 68 65 20 6c 69 62 72 61 72 79 20 65 78 69 73  the library exis
15480 74 73 20 6f 72 20 6e 6f 74 2e 20 20 42 75 74 20  ts or not.  But 
15490 74 68 69 73 20 69 73 20 6f 6e 0a 09 20 20 23 20  this is on..  # 
154a0 6f 73 66 33 20 26 20 6f 73 66 34 20 61 6e 64 20  osf3 & osf4 and 
154b0 49 27 6d 20 6e 6f 74 20 72 65 61 6c 6c 79 20 73  I'm not really s
154c0 75 72 65 2e 2e 2e 20 4a 75 73 74 0a 09 20 20 23  ure... Just..  #
154d0 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 77 68   implementing wh
154e0 61 74 20 77 61 73 20 61 6c 72 65 61 64 79 20 74  at was already t
154f0 68 65 20 62 65 68 61 76 69 6f 72 2e 0a 09 20 20  he behavior...  
15500 6e 65 77 64 65 70 6c 69 62 73 3d 24 64 65 70 6c  newdeplibs=$depl
15510 69 62 73 0a 09 20 20 3b 3b 0a 09 74 65 73 74 5f  ibs..  ;;..test_
15520 63 6f 6d 70 69 6c 65 29 0a 09 20 20 23 20 54 68  compile)..  # Th
15530 69 73 20 63 6f 64 65 20 73 74 72 65 73 73 65 73  is code stresses
15540 20 74 68 65 20 22 6c 69 62 72 61 72 69 65 73 20   the "libraries 
15550 61 72 65 20 70 72 6f 67 72 61 6d 73 22 20 70 61  are programs" pa
15560 72 61 64 69 67 6d 20 74 6f 20 69 74 73 0a 09 20  radigm to its.. 
15570 20 23 20 6c 69 6d 69 74 73 2e 20 4d 61 79 62 65   # limits. Maybe
15580 20 65 76 65 6e 20 62 72 65 61 6b 73 20 69 74 2e   even breaks it.
15590 20 20 57 65 20 63 6f 6d 70 69 6c 65 20 61 20 70    We compile a p
155a0 72 6f 67 72 61 6d 2c 20 6c 69 6e 6b 69 6e 67 20  rogram, linking 
155b0 69 74 0a 09 20 20 23 20 61 67 61 69 6e 73 74 20  it..  # against 
155c0 74 68 65 20 64 65 70 6c 69 62 73 20 61 73 20 61  the deplibs as a
155d0 20 70 72 6f 78 79 20 66 6f 72 20 74 68 65 20 6c   proxy for the l
155e0 69 62 72 61 72 79 2e 20 20 54 68 65 6e 20 77 65  ibrary.  Then we
155f0 20 63 61 6e 20 63 68 65 63 6b 0a 09 20 20 23 20   can check..  # 
15600 77 68 65 74 68 65 72 20 74 68 65 79 20 6c 69 6e  whether they lin
15610 6b 65 64 20 69 6e 20 73 74 61 74 69 63 61 6c 6c  ked in staticall
15620 79 20 6f 72 20 64 79 6e 61 6d 69 63 61 6c 6c 79  y or dynamically
15630 20 77 69 74 68 20 6c 64 64 2e 0a 09 20 20 24 72   with ldd...  $r
15640 6d 20 63 6f 6e 66 74 65 73 74 2e 63 0a 09 20 20  m conftest.c..  
15650 63 61 74 20 3e 20 63 6f 6e 66 74 65 73 74 2e 63  cat > conftest.c
15660 20 3c 3c 45 4f 46 0a 09 20 20 69 6e 74 20 6d 61   <<EOF..  int ma
15670 69 6e 28 29 20 7b 20 72 65 74 75 72 6e 20 30 3b  in() { return 0;
15680 20 7d 0a 45 4f 46 0a 09 20 20 24 72 6d 20 63 6f   }.EOF..  $rm co
15690 6e 66 74 65 73 74 0a 09 20 20 24 4c 54 43 43 20  nftest..  $LTCC 
156a0 2d 6f 20 63 6f 6e 66 74 65 73 74 20 63 6f 6e 66  -o conftest conf
156b0 74 65 73 74 2e 63 20 24 64 65 70 6c 69 62 73 0a  test.c $deplibs.
156c0 09 20 20 69 66 20 74 65 73 74 20 22 24 3f 22 20  .  if test "$?" 
156d0 2d 65 71 20 30 20 3b 20 74 68 65 6e 0a 09 20 20  -eq 0 ; then..  
156e0 20 20 6c 64 64 5f 6f 75 74 70 75 74 3d 60 6c 64    ldd_output=`ld
156f0 64 20 63 6f 6e 66 74 65 73 74 60 0a 09 20 20 20  d conftest`..   
15700 20 66 6f 72 20 69 20 69 6e 20 24 64 65 70 6c 69   for i in $depli
15710 62 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 6e 61  bs; do..      na
15720 6d 65 3d 22 60 65 78 70 72 20 24 69 20 3a 20 27  me="`expr $i : '
15730 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09 20 20 20  -l\(.*\)'`"..   
15740 20 20 20 23 20 49 66 20 24 6e 61 6d 65 20 69 73     # If $name is
15750 20 65 6d 70 74 79 20 77 65 20 61 72 65 20 6f 70   empty we are op
15760 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 2d 4c 20  erating on a -L 
15770 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20  argument..      
15780 20 20 20 20 20 20 20 20 69 66 20 74 65 73 74 20          if test 
15790 22 24 6e 61 6d 65 22 20 21 3d 20 22 22 20 26 26  "$name" != "" &&
157a0 20 74 65 73 74 20 22 24 6e 61 6d 65 22 20 2d 6e   test "$name" -n
157b0 65 20 22 30 22 3b 20 74 68 65 6e 0a 09 09 69 66  e "0"; then...if
157c0 20 74 65 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c   test "X$allow_l
157d0 69 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68  ibtool_libs_with
157e0 5f 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73  _static_runtimes
157f0 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
15800 6e 0a 09 09 20 20 63 61 73 65 20 22 20 24 70 72  n...  case " $pr
15810 65 64 65 70 73 20 24 70 6f 73 74 64 65 70 73 20  edeps $postdeps 
15820 22 20 69 6e 0a 09 09 20 20 2a 22 20 24 69 20 22  " in...  *" $i "
15830 2a 29 0a 09 09 20 20 20 20 6e 65 77 64 65 70 6c  *)...    newdepl
15840 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73  ibs="$newdeplibs
15850 20 24 69 22 0a 09 09 20 20 20 20 69 3d 22 22 0a   $i"...    i="".
15860 09 09 20 20 20 20 3b 3b 0a 09 09 20 20 65 73 61  ..    ;;...  esa
15870 63 0a 09 20 20 20 20 20 20 20 20 66 69 0a 09 09  c..        fi...
15880 69 66 20 74 65 73 74 20 2d 6e 20 22 24 69 22 20  if test -n "$i" 
15890 3b 20 74 68 65 6e 0a 09 09 20 20 6c 69 62 6e 61  ; then...  libna
158a0 6d 65 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68 6f  me=`eval \\$echo
158b0 20 5c 22 24 6c 69 62 6e 61 6d 65 5f 73 70 65 63   \"$libname_spec
158c0 5c 22 60 0a 09 09 20 20 64 65 70 6c 69 62 5f 6d  \"`...  deplib_m
158d0 61 74 63 68 65 73 3d 60 65 76 61 6c 20 5c 5c 24  atches=`eval \\$
158e0 65 63 68 6f 20 5c 22 24 6c 69 62 72 61 72 79 5f  echo \"$library_
158f0 6e 61 6d 65 73 5f 73 70 65 63 5c 22 60 0a 09 09  names_spec\"`...
15900 20 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70    set dummy $dep
15910 6c 69 62 5f 6d 61 74 63 68 65 73 0a 09 09 20 20  lib_matches...  
15920 64 65 70 6c 69 62 5f 6d 61 74 63 68 3d 24 32 0a  deplib_match=$2.
15930 09 09 20 20 69 66 20 74 65 73 74 20 60 65 78 70  ..  if test `exp
15940 72 20 22 24 6c 64 64 5f 6f 75 74 70 75 74 22 20  r "$ldd_output" 
15950 3a 20 22 2e 2a 24 64 65 70 6c 69 62 5f 6d 61 74  : ".*$deplib_mat
15960 63 68 22 60 20 2d 6e 65 20 30 20 3b 20 74 68 65  ch"` -ne 0 ; the
15970 6e 0a 09 09 20 20 20 20 6e 65 77 64 65 70 6c 69  n...    newdepli
15980 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62 73 20  bs="$newdeplibs 
15990 24 69 22 0a 09 09 20 20 65 6c 73 65 0a 09 09 20  $i"...  else... 
159a0 20 20 20 64 72 6f 70 70 65 64 64 65 70 73 3d 79     droppeddeps=y
159b0 65 73 0a 09 09 20 20 20 20 24 65 63 68 6f 0a 09  es...    $echo..
159c0 09 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20  .    $echo "*** 
159d0 57 61 72 6e 69 6e 67 3a 20 64 79 6e 61 6d 69 63  Warning: dynamic
159e0 20 6c 69 6e 6b 65 72 20 64 6f 65 73 20 6e 6f 74   linker does not
159f0 20 61 63 63 65 70 74 20 6e 65 65 64 65 64 20 6c   accept needed l
15a00 69 62 72 61 72 79 20 24 69 2e 22 0a 09 09 20 20  ibrary $i."...  
15a10 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68    $echo "*** I h
15a20 61 76 65 20 74 68 65 20 63 61 70 61 62 69 6c 69  ave the capabili
15a30 74 79 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20  ty to make that 
15a40 6c 69 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69  library automati
15a50 63 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68  cally link in wh
15a60 65 6e 22 0a 09 09 20 20 20 20 24 65 63 68 6f 20  en"...    $echo 
15a70 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74 6f  "*** you link to
15a80 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20   this library.  
15a90 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20 64  But I can only d
15aa0 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68 61  o this if you ha
15ab0 76 65 20 61 22 0a 09 09 20 20 20 20 24 65 63 68  ve a"...    $ech
15ac0 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76 65  o "*** shared ve
15ad0 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62  rsion of the lib
15ae0 72 61 72 79 2c 20 77 68 69 63 68 20 49 20 62 65  rary, which I be
15af0 6c 69 65 76 65 20 79 6f 75 20 64 6f 20 6e 6f 74  lieve you do not
15b00 20 68 61 76 65 22 0a 09 09 20 20 20 20 24 65 63   have"...    $ec
15b10 68 6f 20 22 2a 2a 2a 20 62 65 63 61 75 73 65 20  ho "*** because 
15b20 61 20 74 65 73 74 5f 63 6f 6d 70 69 6c 65 20 64  a test_compile d
15b30 69 64 20 72 65 76 65 61 6c 20 74 68 61 74 20 74  id reveal that t
15b40 68 65 20 6c 69 6e 6b 65 72 20 64 69 64 20 6e 6f  he linker did no
15b50 74 20 75 73 65 20 69 74 20 66 6f 72 22 0a 09 09  t use it for"...
15b60 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 69      $echo "*** i
15b70 74 73 20 64 79 6e 61 6d 69 63 20 64 65 70 65 6e  ts dynamic depen
15b80 64 65 6e 63 79 20 6c 69 73 74 20 74 68 61 74 20  dency list that 
15b90 70 72 6f 67 72 61 6d 73 20 67 65 74 20 72 65 73  programs get res
15ba0 6f 6c 76 65 64 20 77 69 74 68 20 61 74 20 72 75  olved with at ru
15bb0 6e 74 69 6d 65 2e 22 0a 09 09 20 20 66 69 0a 09  ntime."...  fi..
15bc0 09 66 69 0a 09 20 20 20 20 20 20 65 6c 73 65 0a  .fi..      else.
15bd0 09 09 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e  ..newdeplibs="$n
15be0 65 77 64 65 70 6c 69 62 73 20 24 69 22 0a 09 20  ewdeplibs $i".. 
15bf0 20 20 20 20 20 66 69 0a 09 20 20 20 20 64 6f 6e       fi..    don
15c00 65 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 23  e..  else..    #
15c10 20 45 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20   Error occurred 
15c20 69 6e 20 74 68 65 20 66 69 72 73 74 20 63 6f 6d  in the first com
15c30 70 69 6c 65 2e 20 20 4c 65 74 27 73 20 74 72 79  pile.  Let's try
15c40 20 74 6f 20 73 61 6c 76 61 67 65 0a 09 20 20 20   to salvage..   
15c50 20 23 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e   # the situation
15c60 3a 20 43 6f 6d 70 69 6c 65 20 61 20 73 65 70 61  : Compile a sepa
15c70 72 61 74 65 20 70 72 6f 67 72 61 6d 20 66 6f 72  rate program for
15c80 20 65 61 63 68 20 6c 69 62 72 61 72 79 2e 0a 09   each library...
15c90 20 20 20 20 66 6f 72 20 69 20 69 6e 20 24 64 65      for i in $de
15ca0 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20 20 20  plibs; do..     
15cb0 20 6e 61 6d 65 3d 22 60 65 78 70 72 20 24 69 20   name="`expr $i 
15cc0 3a 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22 0a 09  : '-l\(.*\)'`"..
15cd0 20 20 20 20 20 20 23 20 49 66 20 24 6e 61 6d 65        # If $name
15ce0 20 69 73 20 65 6d 70 74 79 20 77 65 20 61 72 65   is empty we are
15cf0 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20   operating on a 
15d00 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20  -L argument..   
15d10 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 65             if te
15d20 73 74 20 22 24 6e 61 6d 65 22 20 21 3d 20 22 22  st "$name" != ""
15d30 20 26 26 20 74 65 73 74 20 22 24 6e 61 6d 65 22   && test "$name"
15d40 20 21 3d 20 22 30 22 3b 20 74 68 65 6e 0a 09 09   != "0"; then...
15d50 24 72 6d 20 63 6f 6e 66 74 65 73 74 0a 09 09 24  $rm conftest...$
15d60 4c 54 43 43 20 2d 6f 20 63 6f 6e 66 74 65 73 74  LTCC -o conftest
15d70 20 63 6f 6e 66 74 65 73 74 2e 63 20 24 69 0a 09   conftest.c $i..
15d80 09 23 20 44 69 64 20 69 74 20 77 6f 72 6b 3f 0a  .# Did it work?.
15d90 09 09 69 66 20 74 65 73 74 20 22 24 3f 22 20 2d  ..if test "$?" -
15da0 65 71 20 30 20 3b 20 74 68 65 6e 0a 09 09 20 20  eq 0 ; then...  
15db0 6c 64 64 5f 6f 75 74 70 75 74 3d 60 6c 64 64 20  ldd_output=`ldd 
15dc0 63 6f 6e 66 74 65 73 74 60 0a 09 09 20 20 69 66  conftest`...  if
15dd0 20 74 65 73 74 20 22 58 24 61 6c 6c 6f 77 5f 6c   test "X$allow_l
15de0 69 62 74 6f 6f 6c 5f 6c 69 62 73 5f 77 69 74 68  ibtool_libs_with
15df0 5f 73 74 61 74 69 63 5f 72 75 6e 74 69 6d 65 73  _static_runtimes
15e00 22 20 3d 20 22 58 79 65 73 22 20 3b 20 74 68 65  " = "Xyes" ; the
15e10 6e 0a 09 09 20 20 20 20 63 61 73 65 20 22 20 24  n...    case " $
15e20 70 72 65 64 65 70 73 20 24 70 6f 73 74 64 65 70  predeps $postdep
15e30 73 20 22 20 69 6e 0a 09 09 20 20 20 20 2a 22 20  s " in...    *" 
15e40 24 69 20 22 2a 29 0a 09 09 20 20 20 20 20 20 6e  $i "*)...      n
15e50 65 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64  ewdeplibs="$newd
15e60 65 70 6c 69 62 73 20 24 69 22 0a 09 09 20 20 20  eplibs $i"...   
15e70 20 20 20 69 3d 22 22 0a 09 09 20 20 20 20 20 20     i=""...      
15e80 3b 3b 0a 09 09 20 20 20 20 65 73 61 63 0a 09 09  ;;...    esac...
15e90 20 20 66 69 0a 09 09 20 20 69 66 20 74 65 73 74    fi...  if test
15ea0 20 2d 6e 20 22 24 69 22 20 3b 20 74 68 65 6e 0a   -n "$i" ; then.
15eb0 09 09 20 20 20 20 6c 69 62 6e 61 6d 65 3d 60 65  ..    libname=`e
15ec0 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24 6c  val \\$echo \"$l
15ed0 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a 09  ibname_spec\"`..
15ee0 09 20 20 20 20 64 65 70 6c 69 62 5f 6d 61 74 63  .    deplib_matc
15ef0 68 65 73 3d 60 65 76 61 6c 20 5c 5c 24 65 63 68  hes=`eval \\$ech
15f00 6f 20 5c 22 24 6c 69 62 72 61 72 79 5f 6e 61 6d  o \"$library_nam
15f10 65 73 5f 73 70 65 63 5c 22 60 0a 09 09 20 20 20  es_spec\"`...   
15f20 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65 70 6c   set dummy $depl
15f30 69 62 5f 6d 61 74 63 68 65 73 0a 09 09 20 20 20  ib_matches...   
15f40 20 64 65 70 6c 69 62 5f 6d 61 74 63 68 3d 24 32   deplib_match=$2
15f50 0a 09 09 20 20 20 20 69 66 20 74 65 73 74 20 60  ...    if test `
15f60 65 78 70 72 20 22 24 6c 64 64 5f 6f 75 74 70 75  expr "$ldd_outpu
15f70 74 22 20 3a 20 22 2e 2a 24 64 65 70 6c 69 62 5f  t" : ".*$deplib_
15f80 6d 61 74 63 68 22 60 20 2d 6e 65 20 30 20 3b 20  match"` -ne 0 ; 
15f90 74 68 65 6e 0a 09 09 20 20 20 20 20 20 6e 65 77  then...      new
15fa0 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64 65 70  deplibs="$newdep
15fb0 6c 69 62 73 20 24 69 22 0a 09 09 20 20 20 20 65  libs $i"...    e
15fc0 6c 73 65 0a 09 09 20 20 20 20 20 20 64 72 6f 70  lse...      drop
15fd0 70 65 64 64 65 70 73 3d 79 65 73 0a 09 09 20 20  peddeps=yes...  
15fe0 20 20 20 20 24 65 63 68 6f 0a 09 09 20 20 20 20      $echo...    
15ff0 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72    $echo "*** War
16000 6e 69 6e 67 3a 20 64 79 6e 61 6d 69 63 20 6c 69  ning: dynamic li
16010 6e 6b 65 72 20 64 6f 65 73 20 6e 6f 74 20 61 63  nker does not ac
16020 63 65 70 74 20 6e 65 65 64 65 64 20 6c 69 62 72  cept needed libr
16030 61 72 79 20 24 69 2e 22 0a 09 09 20 20 20 20 20  ary $i."...     
16040 20 24 65 63 68 6f 20 22 2a 2a 2a 20 49 20 68 61   $echo "*** I ha
16050 76 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74  ve the capabilit
16060 79 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c  y to make that l
16070 69 62 72 61 72 79 20 61 75 74 6f 6d 61 74 69 63  ibrary automatic
16080 61 6c 6c 79 20 6c 69 6e 6b 20 69 6e 20 77 68 65  ally link in whe
16090 6e 22 0a 09 09 20 20 20 20 20 20 24 65 63 68 6f  n"...      $echo
160a0 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74   "*** you link t
160b0 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20  o this library. 
160c0 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20   But I can only 
160d0 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68  do this if you h
160e0 61 76 65 20 61 22 0a 09 09 20 20 20 20 20 20 24  ave a"...      $
160f0 65 63 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64  echo "*** shared
16100 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20   version of the 
16110 6c 69 62 72 61 72 79 2c 20 77 68 69 63 68 20 79  library, which y
16120 6f 75 20 64 6f 20 6e 6f 74 20 61 70 70 65 61 72  ou do not appear
16130 20 74 6f 20 68 61 76 65 22 0a 09 09 20 20 20 20   to have"...    
16140 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 62 65 63    $echo "*** bec
16150 61 75 73 65 20 61 20 74 65 73 74 5f 63 6f 6d 70  ause a test_comp
16160 69 6c 65 20 64 69 64 20 72 65 76 65 61 6c 20 74  ile did reveal t
16170 68 61 74 20 74 68 65 20 6c 69 6e 6b 65 72 20 64  hat the linker d
16180 69 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20  id not use this 
16190 6f 6e 65 22 0a 09 09 20 20 20 20 20 20 24 65 63  one"...      $ec
161a0 68 6f 20 22 2a 2a 2a 20 61 73 20 61 20 64 79 6e  ho "*** as a dyn
161b0 61 6d 69 63 20 64 65 70 65 6e 64 65 6e 63 79 20  amic dependency 
161c0 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 63 61  that programs ca
161d0 6e 20 67 65 74 20 72 65 73 6f 6c 76 65 64 20 77  n get resolved w
161e0 69 74 68 20 61 74 20 72 75 6e 74 69 6d 65 2e 22  ith at runtime."
161f0 0a 09 09 20 20 20 20 66 69 0a 09 09 20 20 66 69  ...    fi...  fi
16200 0a 09 09 65 6c 73 65 0a 09 09 20 20 64 72 6f 70  ...else...  drop
16210 70 65 64 64 65 70 73 3d 79 65 73 0a 09 09 20 20  peddeps=yes...  
16220 24 65 63 68 6f 0a 09 09 20 20 24 65 63 68 6f 20  $echo...  $echo 
16230 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 21 20 20 4c  "*** Warning!  L
16240 69 62 72 61 72 79 20 24 69 20 69 73 20 6e 65 65  ibrary $i is nee
16250 64 65 64 20 62 79 20 74 68 69 73 20 6c 69 62 72  ded by this libr
16260 61 72 79 20 62 75 74 20 49 20 77 61 73 20 6e 6f  ary but I was no
16270 74 20 61 62 6c 65 20 74 6f 22 0a 09 09 20 20 24  t able to"...  $
16280 65 63 68 6f 20 22 2a 2a 2a 20 20 6d 61 6b 65 20  echo "***  make 
16290 69 74 20 6c 69 6e 6b 20 69 6e 21 20 20 59 6f 75  it link in!  You
162a0 20 77 69 6c 6c 20 70 72 6f 62 61 62 6c 79 20 6e   will probably n
162b0 65 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 69  eed to install i
162c0 74 20 6f 72 20 73 6f 6d 65 22 0a 09 09 20 20 24  t or some"...  $
162d0 65 63 68 6f 20 22 2a 2a 2a 20 6c 69 62 72 61 72  echo "*** librar
162e0 79 20 74 68 61 74 20 69 74 20 64 65 70 65 6e 64  y that it depend
162f0 73 20 6f 6e 20 62 65 66 6f 72 65 20 74 68 69 73  s on before this
16300 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 62 65   library will be
16310 20 66 75 6c 6c 79 22 0a 09 09 20 20 24 65 63 68   fully"...  $ech
16320 6f 20 22 2a 2a 2a 20 66 75 6e 63 74 69 6f 6e 61  o "*** functiona
16330 6c 2e 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 69  l.  Installing i
16340 74 20 62 65 66 6f 72 65 20 63 6f 6e 74 69 6e 75  t before continu
16350 69 6e 67 20 77 6f 75 6c 64 20 62 65 20 65 76 65  ing would be eve
16360 6e 20 62 65 74 74 65 72 2e 22 0a 09 09 66 69 0a  n better."...fi.
16370 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09 6e 65  .      else...ne
16380 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64 65  wdeplibs="$newde
16390 70 6c 69 62 73 20 24 69 22 0a 09 20 20 20 20 20  plibs $i"..     
163a0 20 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20   fi..    done.. 
163b0 20 66 69 0a 09 20 20 3b 3b 0a 09 66 69 6c 65 5f   fi..  ;;..file_
163c0 6d 61 67 69 63 2a 29 0a 09 20 20 73 65 74 20 64  magic*)..  set d
163d0 75 6d 6d 79 20 24 64 65 70 6c 69 62 73 5f 63 68  ummy $deplibs_ch
163e0 65 63 6b 5f 6d 65 74 68 6f 64 0a 09 20 20 66 69  eck_method..  fi
163f0 6c 65 5f 6d 61 67 69 63 5f 72 65 67 65 78 3d 60  le_magic_regex=`
16400 65 78 70 72 20 22 24 64 65 70 6c 69 62 73 5f 63  expr "$deplibs_c
16410 68 65 63 6b 5f 6d 65 74 68 6f 64 22 20 3a 20 22  heck_method" : "
16420 24 32 20 5c 28 2e 2a 5c 29 22 60 0a 09 20 20 66  $2 \(.*\)"`..  f
16430 6f 72 20 61 5f 64 65 70 6c 69 62 20 69 6e 20 24  or a_deplib in $
16440 64 65 70 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  deplibs; do..   
16450 20 6e 61 6d 65 3d 22 60 65 78 70 72 20 24 61 5f   name="`expr $a_
16460 64 65 70 6c 69 62 20 3a 20 27 2d 6c 5c 28 2e 2a  deplib : '-l\(.*
16470 5c 29 27 60 22 0a 09 20 20 20 20 23 20 49 66 20  \)'`"..    # If 
16480 24 6e 61 6d 65 20 69 73 20 65 6d 70 74 79 20 77  $name is empty w
16490 65 20 61 72 65 20 6f 70 65 72 61 74 69 6e 67 20  e are operating 
164a0 6f 6e 20 61 20 2d 4c 20 61 72 67 75 6d 65 6e 74  on a -L argument
164b0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
164c0 20 74 65 73 74 20 22 24 6e 61 6d 65 22 20 21 3d   test "$name" !=
164d0 20 22 22 20 26 26 20 74 65 73 74 20 20 22 24 6e   "" && test  "$n
164e0 61 6d 65 22 20 21 3d 20 22 30 22 3b 20 74 68 65  ame" != "0"; the
164f0 6e 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  n..      if test
16500 20 22 58 24 61 6c 6c 6f 77 5f 6c 69 62 74 6f 6f   "X$allow_libtoo
16510 6c 5f 6c 69 62 73 5f 77 69 74 68 5f 73 74 61 74  l_libs_with_stat
16520 69 63 5f 72 75 6e 74 69 6d 65 73 22 20 3d 20 22  ic_runtimes" = "
16530 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 09 63  Xyes" ; then...c
16540 61 73 65 20 22 20 24 70 72 65 64 65 70 73 20 24  ase " $predeps $
16550 70 6f 73 74 64 65 70 73 20 22 20 69 6e 0a 09 09  postdeps " in...
16560 2a 22 20 24 61 5f 64 65 70 6c 69 62 20 22 2a 29  *" $a_deplib "*)
16570 0a 09 09 20 20 6e 65 77 64 65 70 6c 69 62 73 3d  ...  newdeplibs=
16580 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 61 5f  "$newdeplibs $a_
16590 64 65 70 6c 69 62 22 0a 09 09 20 20 61 5f 64 65  deplib"...  a_de
165a0 70 6c 69 62 3d 22 22 0a 09 09 20 20 3b 3b 0a 09  plib=""...  ;;..
165b0 09 65 73 61 63 0a 09 20 20 20 20 20 20 66 69 0a  .esac..      fi.
165c0 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
165d0 6e 20 22 24 61 5f 64 65 70 6c 69 62 22 20 3b 20  n "$a_deplib" ; 
165e0 74 68 65 6e 0a 09 09 6c 69 62 6e 61 6d 65 3d 60  then...libname=`
165f0 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24  eval \\$echo \"$
16600 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a  libname_spec\"`.
16610 09 09 66 6f 72 20 69 20 69 6e 20 24 6c 69 62 5f  ..for i in $lib_
16620 73 65 61 72 63 68 5f 70 61 74 68 20 24 73 79 73  search_path $sys
16630 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  _lib_search_path
16640 20 24 73 68 6c 69 62 5f 73 65 61 72 63 68 5f 70   $shlib_search_p
16650 61 74 68 3b 20 64 6f 0a 09 09 20 20 70 6f 74 65  ath; do...  pote
16660 6e 74 69 61 6c 5f 6c 69 62 73 3d 60 6c 73 20 24  ntial_libs=`ls $
16670 69 2f 24 6c 69 62 6e 61 6d 65 5b 2e 2d 5d 2a 20  i/$libname[.-]* 
16680 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 09 09 20  2>/dev/null`... 
16690 20 66 6f 72 20 70 6f 74 65 6e 74 5f 6c 69 62 20   for potent_lib 
166a0 69 6e 20 24 70 6f 74 65 6e 74 69 61 6c 5f 6c 69  in $potential_li
166b0 62 73 3b 20 64 6f 0a 09 09 20 20 20 20 20 20 23  bs; do...      #
166c0 20 46 6f 6c 6c 6f 77 20 73 6f 66 74 20 6c 69 6e   Follow soft lin
166d0 6b 73 2e 0a 09 09 20 20 20 20 20 20 69 66 20 6c  ks....      if l
166e0 73 20 2d 6c 4c 64 20 22 24 70 6f 74 65 6e 74 5f  s -lLd "$potent_
166f0 6c 69 62 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  lib" 2>/dev/null
16700 20 5c 0a 09 09 09 20 7c 20 67 72 65 70 20 22 20   \.... | grep " 
16710 2d 3e 20 22 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b  -> " >/dev/null;
16720 20 74 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75   then....continu
16730 65 0a 09 09 20 20 20 20 20 20 66 69 0a 09 09 20  e...      fi... 
16740 20 20 20 20 20 23 20 54 68 65 20 73 74 61 74 65       # The state
16750 6d 65 6e 74 20 61 62 6f 76 65 20 74 72 69 65 73  ment above tries
16760 20 74 6f 20 61 76 6f 69 64 20 65 6e 74 65 72 69   to avoid enteri
16770 6e 67 20 61 6e 0a 09 09 20 20 20 20 20 20 23 20  ng an...      # 
16780 65 6e 64 6c 65 73 73 20 6c 6f 6f 70 20 62 65 6c  endless loop bel
16790 6f 77 2c 20 69 6e 20 63 61 73 65 20 6f 66 20 63  ow, in case of c
167a0 79 63 6c 69 63 20 6c 69 6e 6b 73 2e 0a 09 09 20  yclic links.... 
167b0 20 20 20 20 20 23 20 57 65 20 6d 69 67 68 74 20       # We might 
167c0 73 74 69 6c 6c 20 65 6e 74 65 72 20 61 6e 20 65  still enter an e
167d0 6e 64 6c 65 73 73 20 6c 6f 6f 70 2c 20 73 69 6e  ndless loop, sin
167e0 63 65 20 61 20 6c 69 6e 6b 0a 09 09 20 20 20 20  ce a link...    
167f0 20 20 23 20 6c 6f 6f 70 20 63 61 6e 20 62 65 20    # loop can be 
16800 63 6c 6f 73 65 64 20 77 68 69 6c 65 20 77 65 20  closed while we 
16810 66 6f 6c 6c 6f 77 20 6c 69 6e 6b 73 2c 0a 09 09  follow links,...
16820 20 20 20 20 20 20 23 20 62 75 74 20 73 6f 20 77        # but so w
16830 68 61 74 3f 0a 09 09 20 20 20 20 20 20 70 6f 74  hat?...      pot
16840 6c 69 62 3d 22 24 70 6f 74 65 6e 74 5f 6c 69 62  lib="$potent_lib
16850 22 0a 09 09 20 20 20 20 20 20 77 68 69 6c 65 20  "...      while 
16860 74 65 73 74 20 2d 68 20 22 24 70 6f 74 6c 69 62  test -h "$potlib
16870 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 64  " 2>/dev/null; d
16880 6f 0a 09 09 09 70 6f 74 6c 69 62 6c 69 6e 6b 3d  o....potliblink=
16890 60 6c 73 20 2d 6c 64 20 24 70 6f 74 6c 69 62 20  `ls -ld $potlib 
168a0 7c 20 24 7b 53 45 44 7d 20 27 73 2f 2e 2a 20 2d  | ${SED} 's/.* -
168b0 3e 20 2f 2f 27 60 0a 09 09 09 63 61 73 65 20 24  > //'`....case $
168c0 70 6f 74 6c 69 62 6c 69 6e 6b 20 69 6e 0a 09 09  potliblink in...
168d0 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d  .[\\/]* | [A-Za-
168e0 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 70 6f 74 6c 69  z]:[\\/]*) potli
168f0 62 3d 22 24 70 6f 74 6c 69 62 6c 69 6e 6b 22 3b  b="$potliblink";
16900 3b 0a 09 09 09 2a 29 20 70 6f 74 6c 69 62 3d 60  ;....*) potlib=`
16910 24 65 63 68 6f 20 22 58 24 70 6f 74 6c 69 62 22  $echo "X$potlib"
16920 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2c 5b   | $Xsed -e 's,[
16930 5e 2f 5d 2a 24 2c 2c 27 60 22 24 70 6f 74 6c 69  ^/]*$,,'`"$potli
16940 62 6c 69 6e 6b 22 3b 3b 0a 09 09 09 65 73 61 63  blink";;....esac
16950 0a 09 09 20 20 20 20 20 20 64 6f 6e 65 0a 09 09  ...      done...
16960 20 20 20 20 20 20 69 66 20 65 76 61 6c 20 24 66        if eval $f
16970 69 6c 65 5f 6d 61 67 69 63 5f 63 6d 64 20 5c 22  ile_magic_cmd \"
16980 5c 24 70 6f 74 6c 69 62 5c 22 20 32 3e 2f 64 65  \$potlib\" 2>/de
16990 76 2f 6e 75 6c 6c 20 5c 0a 09 09 09 20 7c 20 24  v/null \.... | $
169a0 7b 53 45 44 7d 20 31 30 71 20 5c 0a 09 09 09 20  {SED} 10q \.... 
169b0 7c 20 24 45 47 52 45 50 20 22 24 66 69 6c 65 5f  | $EGREP "$file_
169c0 6d 61 67 69 63 5f 72 65 67 65 78 22 20 3e 20 2f  magic_regex" > /
169d0 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09  dev/null; then..
169e0 09 09 6e 65 77 64 65 70 6c 69 62 73 3d 22 24 6e  ..newdeplibs="$n
169f0 65 77 64 65 70 6c 69 62 73 20 24 61 5f 64 65 70  ewdeplibs $a_dep
16a00 6c 69 62 22 0a 09 09 09 61 5f 64 65 70 6c 69 62  lib"....a_deplib
16a10 3d 22 22 0a 09 09 09 62 72 65 61 6b 20 32 0a 09  =""....break 2..
16a20 09 20 20 20 20 20 20 66 69 0a 09 09 20 20 64 6f  .      fi...  do
16a30 6e 65 0a 09 09 64 6f 6e 65 0a 09 20 20 20 20 20  ne...done..     
16a40 20 66 69 0a 09 20 20 20 20 20 20 69 66 20 74 65   fi..      if te
16a50 73 74 20 2d 6e 20 22 24 61 5f 64 65 70 6c 69 62  st -n "$a_deplib
16a60 22 20 3b 20 74 68 65 6e 0a 09 09 64 72 6f 70 70  " ; then...dropp
16a70 65 64 64 65 70 73 3d 79 65 73 0a 09 09 24 65 63  eddeps=yes...$ec
16a80 68 6f 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a 20  ho...$echo "*** 
16a90 57 61 72 6e 69 6e 67 3a 20 6c 69 6e 6b 65 72 20  Warning: linker 
16aa0 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 68 61  path does not ha
16ab0 76 65 20 72 65 61 6c 20 66 69 6c 65 20 66 6f 72  ve real file for
16ac0 20 6c 69 62 72 61 72 79 20 24 61 5f 64 65 70 6c   library $a_depl
16ad0 69 62 2e 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a  ib."...$echo "**
16ae0 2a 20 49 20 68 61 76 65 20 74 68 65 20 63 61 70  * I have the cap
16af0 61 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20  ability to make 
16b00 74 68 61 74 20 6c 69 62 72 61 72 79 20 61 75 74  that library aut
16b10 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  omatically link 
16b20 69 6e 20 77 68 65 6e 22 0a 09 09 24 65 63 68 6f  in when"...$echo
16b30 20 22 2a 2a 2a 20 79 6f 75 20 6c 69 6e 6b 20 74   "*** you link t
16b40 6f 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20  o this library. 
16b50 20 42 75 74 20 49 20 63 61 6e 20 6f 6e 6c 79 20   But I can only 
16b60 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 68  do this if you h
16b70 61 76 65 20 61 22 0a 09 09 24 65 63 68 6f 20 22  ave a"...$echo "
16b80 2a 2a 2a 20 73 68 61 72 65 64 20 76 65 72 73 69  *** shared versi
16b90 6f 6e 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72  on of the librar
16ba0 79 2c 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20  y, which you do 
16bb0 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 68 61  not appear to ha
16bc0 76 65 22 0a 09 09 24 65 63 68 6f 20 22 2a 2a 2a  ve"...$echo "***
16bd0 20 62 65 63 61 75 73 65 20 49 20 64 69 64 20 63   because I did c
16be0 68 65 63 6b 20 74 68 65 20 6c 69 6e 6b 65 72 20  heck the linker 
16bf0 70 61 74 68 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72  path looking for
16c00 20 61 20 66 69 6c 65 20 73 74 61 72 74 69 6e 67   a file starting
16c10 22 0a 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22  "...if test -z "
16c20 24 70 6f 74 6c 69 62 22 20 3b 20 74 68 65 6e 0a  $potlib" ; then.
16c30 09 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 77  ..  $echo "*** w
16c40 69 74 68 20 24 6c 69 62 6e 61 6d 65 20 62 75 74  ith $libname but
16c50 20 6e 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77   no candidates w
16c60 65 72 65 20 66 6f 75 6e 64 2e 20 28 2e 2e 2e 66  ere found. (...f
16c70 6f 72 20 66 69 6c 65 20 6d 61 67 69 63 20 74 65  or file magic te
16c80 73 74 29 22 0a 09 09 65 6c 73 65 0a 09 09 20 20  st)"...else...  
16c90 24 65 63 68 6f 20 22 2a 2a 2a 20 77 69 74 68 20  $echo "*** with 
16ca0 24 6c 69 62 6e 61 6d 65 20 61 6e 64 20 6e 6f 6e  $libname and non
16cb0 65 20 6f 66 20 74 68 65 20 63 61 6e 64 69 64 61  e of the candida
16cc0 74 65 73 20 70 61 73 73 65 64 20 61 20 66 69 6c  tes passed a fil
16cd0 65 20 66 6f 72 6d 61 74 20 74 65 73 74 22 0a 09  e format test"..
16ce0 09 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 75 73  .  $echo "*** us
16cf0 69 6e 67 20 61 20 66 69 6c 65 20 6d 61 67 69 63  ing a file magic
16d00 2e 20 4c 61 73 74 20 66 69 6c 65 20 63 68 65 63  . Last file chec
16d10 6b 65 64 3a 20 24 70 6f 74 6c 69 62 22 0a 09 09  ked: $potlib"...
16d20 66 69 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20  fi..      fi..  
16d30 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 23 20    else..      # 
16d40 41 64 64 20 61 20 2d 4c 20 61 72 67 75 6d 65 6e  Add a -L argumen
16d50 74 2e 0a 09 20 20 20 20 20 20 6e 65 77 64 65 70  t...      newdep
16d60 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 6c 69 62  libs="$newdeplib
16d70 73 20 24 61 5f 64 65 70 6c 69 62 22 0a 09 20 20  s $a_deplib"..  
16d80 20 20 66 69 0a 09 20 20 64 6f 6e 65 20 23 20 47    fi..  done # G
16d90 6f 6e 65 20 74 68 72 6f 75 67 68 20 61 6c 6c 20  one through all 
16da0 64 65 70 6c 69 62 73 2e 0a 09 20 20 3b 3b 0a 09  deplibs...  ;;..
16db0 6d 61 74 63 68 5f 70 61 74 74 65 72 6e 2a 29 0a  match_pattern*).
16dc0 09 20 20 73 65 74 20 64 75 6d 6d 79 20 24 64 65  .  set dummy $de
16dd0 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
16de0 6f 64 0a 09 20 20 6d 61 74 63 68 5f 70 61 74 74  od..  match_patt
16df0 65 72 6e 5f 72 65 67 65 78 3d 60 65 78 70 72 20  ern_regex=`expr 
16e00 22 24 64 65 70 6c 69 62 73 5f 63 68 65 63 6b 5f  "$deplibs_check_
16e10 6d 65 74 68 6f 64 22 20 3a 20 22 24 32 20 5c 28  method" : "$2 \(
16e20 2e 2a 5c 29 22 60 0a 09 20 20 66 6f 72 20 61 5f  .*\)"`..  for a_
16e30 64 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c 69  deplib in $depli
16e40 62 73 3b 20 64 6f 0a 09 20 20 20 20 6e 61 6d 65  bs; do..    name
16e50 3d 22 60 65 78 70 72 20 24 61 5f 64 65 70 6c 69  ="`expr $a_depli
16e60 62 20 3a 20 27 2d 6c 5c 28 2e 2a 5c 29 27 60 22  b : '-l\(.*\)'`"
16e70 0a 09 20 20 20 20 23 20 49 66 20 24 6e 61 6d 65  ..    # If $name
16e80 20 69 73 20 65 6d 70 74 79 20 77 65 20 61 72 65   is empty we are
16e90 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20   operating on a 
16ea0 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20  -L argument...  
16eb0 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6e    if test -n "$n
16ec0 61 6d 65 22 20 26 26 20 74 65 73 74 20 22 24 6e  ame" && test "$n
16ed0 61 6d 65 22 20 21 3d 20 22 30 22 3b 20 74 68 65  ame" != "0"; the
16ee0 6e 0a 09 20 20 20 20 20 20 69 66 20 74 65 73 74  n..      if test
16ef0 20 22 58 24 61 6c 6c 6f 77 5f 6c 69 62 74 6f 6f   "X$allow_libtoo
16f00 6c 5f 6c 69 62 73 5f 77 69 74 68 5f 73 74 61 74  l_libs_with_stat
16f10 69 63 5f 72 75 6e 74 69 6d 65 73 22 20 3d 20 22  ic_runtimes" = "
16f20 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 09 63  Xyes" ; then...c
16f30 61 73 65 20 22 20 24 70 72 65 64 65 70 73 20 24  ase " $predeps $
16f40 70 6f 73 74 64 65 70 73 20 22 20 69 6e 0a 09 09  postdeps " in...
16f50 2a 22 20 24 61 5f 64 65 70 6c 69 62 20 22 2a 29  *" $a_deplib "*)
16f60 0a 09 09 20 20 6e 65 77 64 65 70 6c 69 62 73 3d  ...  newdeplibs=
16f70 22 24 6e 65 77 64 65 70 6c 69 62 73 20 24 61 5f  "$newdeplibs $a_
16f80 64 65 70 6c 69 62 22 0a 09 09 20 20 61 5f 64 65  deplib"...  a_de
16f90 70 6c 69 62 3d 22 22 0a 09 09 20 20 3b 3b 0a 09  plib=""...  ;;..
16fa0 09 65 73 61 63 0a 09 20 20 20 20 20 20 66 69 0a  .esac..      fi.
16fb0 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d  .      if test -
16fc0 6e 20 22 24 61 5f 64 65 70 6c 69 62 22 20 3b 20  n "$a_deplib" ; 
16fd0 74 68 65 6e 0a 09 09 6c 69 62 6e 61 6d 65 3d 60  then...libname=`
16fe0 65 76 61 6c 20 5c 5c 24 65 63 68 6f 20 5c 22 24  eval \\$echo \"$
16ff0 6c 69 62 6e 61 6d 65 5f 73 70 65 63 5c 22 60 0a  libname_spec\"`.
17000 09 09 66 6f 72 20 69 20 69 6e 20 24 6c 69 62 5f  ..for i in $lib_
17010 73 65 61 72 63 68 5f 70 61 74 68 20 24 73 79 73  search_path $sys
17020 5f 6c 69 62 5f 73 65 61 72 63 68 5f 70 61 74 68  _lib_search_path
17030 20 24 73 68 6c 69 62 5f 73 65 61 72 63 68 5f 70   $shlib_search_p
17040 61 74 68 3b 20 64 6f 0a 09 09 20 20 70 6f 74 65  ath; do...  pote
17050 6e 74 69 61 6c 5f 6c 69 62 73 3d 60 6c 73 20 24  ntial_libs=`ls $
17060 69 2f 24 6c 69 62 6e 61 6d 65 5b 2e 2d 5d 2a 20  i/$libname[.-]* 
17070 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 0a 09 09 20  2>/dev/null`... 
17080 20 66 6f 72 20 70 6f 74 65 6e 74 5f 6c 69 62 20   for potent_lib 
17090 69 6e 20 24 70 6f 74 65 6e 74 69 61 6c 5f 6c 69  in $potential_li
170a0 62 73 3b 20 64 6f 0a 09 09 20 20 20 20 70 6f 74  bs; do...    pot
170b0 6c 69 62 3d 22 24 70 6f 74 65 6e 74 5f 6c 69 62  lib="$potent_lib
170c0 22 20 23 20 73 65 65 20 73 79 6d 6c 69 6e 6b 2d  " # see symlink-
170d0 63 68 65 63 6b 20 61 62 6f 76 65 20 69 6e 20 66  check above in f
170e0 69 6c 65 5f 6d 61 67 69 63 20 74 65 73 74 0a 09  ile_magic test..
170f0 09 20 20 20 20 69 66 20 65 76 61 6c 20 24 65 63  .    if eval $ec
17100 68 6f 20 5c 22 24 70 6f 74 65 6e 74 5f 6c 69 62  ho \"$potent_lib
17110 5c 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 5c  \" 2>/dev/null \
17120 0a 09 09 20 20 20 20 20 20 20 20 7c 20 24 7b 53  ...        | ${S
17130 45 44 7d 20 31 30 71 20 5c 0a 09 09 20 20 20 20  ED} 10q \...    
17140 20 20 20 20 7c 20 24 45 47 52 45 50 20 22 24 6d      | $EGREP "$m
17150 61 74 63 68 5f 70 61 74 74 65 72 6e 5f 72 65 67  atch_pattern_reg
17160 65 78 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b  ex" > /dev/null;
17170 20 74 68 65 6e 0a 09 09 20 20 20 20 20 20 6e 65   then...      ne
17180 77 64 65 70 6c 69 62 73 3d 22 24 6e 65 77 64 65  wdeplibs="$newde
17190 70 6c 69 62 73 20 24 61 5f 64 65 70 6c 69 62 22  plibs $a_deplib"
171a0 0a 09 09 20 20 20 20 20 20 61 5f 64 65 70 6c 69  ...      a_depli
171b0 62 3d 22 22 0a 09 09 20 20 20 20 20 20 62 72 65  b=""...      bre
171c0 61 6b 20 32 0a 09 09 20 20 20 20 66 69 0a 09 09  ak 2...    fi...
171d0 20 20 64 6f 6e 65 0a 09 09 64 6f 6e 65 0a 09 20    done...done.. 
171e0 20 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 69       fi..      i
171f0 66 20 74 65 73 74 20 2d 6e 20 22 24 61 5f 64 65  f test -n "$a_de
17200 70 6c 69 62 22 20 3b 20 74 68 65 6e 0a 09 09 64  plib" ; then...d
17210 72 6f 70 70 65 64 64 65 70 73 3d 79 65 73 0a 09  roppeddeps=yes..
17220 09 24 65 63 68 6f 0a 09 09 24 65 63 68 6f 20 22  .$echo...$echo "
17230 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 6c 69 6e  *** Warning: lin
17240 6b 65 72 20 70 61 74 68 20 64 6f 65 73 20 6e 6f  ker path does no
17250 74 20 68 61 76 65 20 72 65 61 6c 20 66 69 6c 65  t have real file
17260 20 66 6f 72 20 6c 69 62 72 61 72 79 20 24 61 5f   for library $a_
17270 64 65 70 6c 69 62 2e 22 0a 09 09 24 65 63 68 6f  deplib."...$echo
17280 20 22 2a 2a 2a 20 49 20 68 61 76 65 20 74 68 65   "*** I have the
17290 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 6d   capability to m
172a0 61 6b 65 20 74 68 61 74 20 6c 69 62 72 61 72 79  ake that library
172b0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c   automatically l
172c0 69 6e 6b 20 69 6e 20 77 68 65 6e 22 0a 09 09 24  ink in when"...$
172d0 65 63 68 6f 20 22 2a 2a 2a 20 79 6f 75 20 6c 69  echo "*** you li
172e0 6e 6b 20 74 6f 20 74 68 69 73 20 6c 69 62 72 61  nk to this libra
172f0 72 79 2e 20 20 42 75 74 20 49 20 63 61 6e 20 6f  ry.  But I can o
17300 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66 20 79  nly do this if y
17310 6f 75 20 68 61 76 65 20 61 22 0a 09 09 24 65 63  ou have a"...$ec
17320 68 6f 20 22 2a 2a 2a 20 73 68 61 72 65 64 20 76  ho "*** shared v
17330 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69  ersion of the li
17340 62 72 61 72 79 2c 20 77 68 69 63 68 20 79 6f 75  brary, which you
17350 20 64 6f 20 6e 6f 74 20 61 70 70 65 61 72 20 74   do not appear t
17360 6f 20 68 61 76 65 22 0a 09 09 24 65 63 68 6f 20  o have"...$echo 
17370 22 2a 2a 2a 20 62 65 63 61 75 73 65 20 49 20 64  "*** because I d
17380 69 64 20 63 68 65 63 6b 20 74 68 65 20 6c 69 6e  id check the lin
17390 6b 65 72 20 70 61 74 68 20 6c 6f 6f 6b 69 6e 67  ker path looking
173a0 20 66 6f 72 20 61 20 66 69 6c 65 20 73 74 61 72   for a file star
173b0 74 69 6e 67 22 0a 09 09 69 66 20 74 65 73 74 20  ting"...if test 
173c0 2d 7a 20 22 24 70 6f 74 6c 69 62 22 20 3b 20 74  -z "$potlib" ; t
173d0 68 65 6e 0a 09 09 20 20 24 65 63 68 6f 20 22 2a  hen...  $echo "*
173e0 2a 2a 20 77 69 74 68 20 24 6c 69 62 6e 61 6d 65  ** with $libname
173f0 20 62 75 74 20 6e 6f 20 63 61 6e 64 69 64 61 74   but no candidat
17400 65 73 20 77 65 72 65 20 66 6f 75 6e 64 2e 20 28  es were found. (
17410 2e 2e 2e 66 6f 72 20 72 65 67 65 78 20 70 61 74  ...for regex pat
17420 74 65 72 6e 20 74 65 73 74 29 22 0a 09 09 65 6c  tern test)"...el
17430 73 65 0a 09 09 20 20 24 65 63 68 6f 20 22 2a 2a  se...  $echo "**
17440 2a 20 77 69 74 68 20 24 6c 69 62 6e 61 6d 65 20  * with $libname 
17450 61 6e 64 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20  and none of the 
17460 63 61 6e 64 69 64 61 74 65 73 20 70 61 73 73 65  candidates passe
17470 64 20 61 20 66 69 6c 65 20 66 6f 72 6d 61 74 20  d a file format 
17480 74 65 73 74 22 0a 09 09 20 20 24 65 63 68 6f 20  test"...  $echo 
17490 22 2a 2a 2a 20 75 73 69 6e 67 20 61 20 72 65 67  "*** using a reg
174a0 65 78 20 70 61 74 74 65 72 6e 2e 20 4c 61 73 74  ex pattern. Last
174b0 20 66 69 6c 65 20 63 68 65 63 6b 65 64 3a 20 24   file checked: $
174c0 70 6f 74 6c 69 62 22 0a 09 09 66 69 0a 09 20 20  potlib"...fi..  
174d0 20 20 20 20 66 69 0a 09 20 20 20 20 65 6c 73 65      fi..    else
174e0 0a 09 20 20 20 20 20 20 23 20 41 64 64 20 61 20  ..      # Add a 
174f0 2d 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 20  -L argument...  
17500 20 20 20 20 6e 65 77 64 65 70 6c 69 62 73 3d 22      newdeplibs="
17510 24 6e 65 77 64 65 70 6c 69 62 73 20 24 61 5f 64  $newdeplibs $a_d
17520 65 70 6c 69 62 22 0a 09 20 20 20 20 66 69 0a 09  eplib"..    fi..
17530 20 20 64 6f 6e 65 20 23 20 47 6f 6e 65 20 74 68    done # Gone th
17540 72 6f 75 67 68 20 61 6c 6c 20 64 65 70 6c 69 62  rough all deplib
17550 73 2e 0a 09 20 20 3b 3b 0a 09 6e 6f 6e 65 20 7c  s...  ;;..none |
17560 20 75 6e 6b 6e 6f 77 6e 20 7c 20 2a 29 0a 09 20   unknown | *).. 
17570 20 6e 65 77 64 65 70 6c 69 62 73 3d 22 22 0a 09   newdeplibs=""..
17580 20 20 74 6d 70 5f 64 65 70 6c 69 62 73 3d 60 24    tmp_deplibs=`$
17590 65 63 68 6f 20 22 58 20 24 64 65 70 6c 69 62 73  echo "X $deplibs
175a0 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f  " | $Xsed -e 's/
175b0 20 2d 6c 63 24 2f 2f 27 20 5c 0a 09 20 20 20 20   -lc$//' \..    
175c0 2d 65 20 27 73 2f 20 2d 5b 4c 52 5d 5b 5e 20 5d  -e 's/ -[LR][^ ]
175d0 2a 2f 2f 67 27 60 0a 09 20 20 69 66 20 74 65 73  *//g'`..  if tes
175e0 74 20 22 58 24 61 6c 6c 6f 77 5f 6c 69 62 74 6f  t "X$allow_libto
175f0 6f 6c 5f 6c 69 62 73 5f 77 69 74 68 5f 73 74 61  ol_libs_with_sta
17600 74 69 63 5f 72 75 6e 74 69 6d 65 73 22 20 3d 20  tic_runtimes" = 
17610 22 58 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 20  "Xyes" ; then.. 
17620 20 20 20 66 6f 72 20 69 20 69 6e 20 24 70 72 65     for i in $pre
17630 64 65 70 73 20 24 70 6f 73 74 64 65 70 73 20 3b  deps $postdeps ;
17640 20 64 6f 0a 09 20 20 20 20 20 20 23 20 63 61 6e   do..      # can
17650 27 74 20 75 73 65 20 58 73 65 64 20 62 65 6c 6f  't use Xsed belo
17660 77 2c 20 62 65 63 61 75 73 65 20 24 69 20 6d 69  w, because $i mi
17670 67 68 74 20 63 6f 6e 74 61 69 6e 20 27 2f 27 0a  ght contain '/'.
17680 09 20 20 20 20 20 20 74 6d 70 5f 64 65 70 6c 69  .      tmp_depli
17690 62 73 3d 60 24 65 63 68 6f 20 22 58 20 24 74 6d  bs=`$echo "X $tm
176a0 70 5f 64 65 70 6c 69 62 73 22 20 7c 20 24 7b 53  p_deplibs" | ${S
176b0 45 44 7d 20 2d 65 20 22 31 73 2c 5e 58 2c 2c 22  ED} -e "1s,^X,,"
176c0 20 2d 65 20 22 73 2c 24 69 2c 2c 22 60 0a 09 20   -e "s,$i,,"`.. 
176d0 20 20 20 64 6f 6e 65 0a 09 20 20 66 69 0a 09 20     done..  fi.. 
176e0 20 69 66 20 24 65 63 68 6f 20 22 58 20 24 74 6d   if $echo "X $tm
176f0 70 5f 64 65 70 6c 69 62 73 22 20 7c 20 24 58 73  p_deplibs" | $Xs
17700 65 64 20 2d 65 20 27 73 2f 5b 20 09 5d 2f 2f 67  ed -e 's/[ .]//g
17710 27 20 5c 0a 09 20 20 20 20 7c 20 67 72 65 70 20  ' \..    | grep 
17720 2e 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68  . >/dev/null; th
17730 65 6e 0a 09 20 20 20 20 24 65 63 68 6f 0a 09 20  en..    $echo.. 
17740 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64 65     if test "X$de
17750 70 6c 69 62 73 5f 63 68 65 63 6b 5f 6d 65 74 68  plibs_check_meth
17760 6f 64 22 20 3d 20 22 58 6e 6f 6e 65 22 3b 20 74  od" = "Xnone"; t
17770 68 65 6e 0a 09 20 20 20 20 20 20 24 65 63 68 6f  hen..      $echo
17780 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20 69   "*** Warning: i
17790 6e 74 65 72 2d 6c 69 62 72 61 72 79 20 64 65 70  nter-library dep
177a0 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6e 6f  endencies are no
177b0 74 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 74  t supported in t
177c0 68 69 73 20 70 6c 61 74 66 6f 72 6d 2e 22 0a 09  his platform."..
177d0 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20      else..      
177e0 24 65 63 68 6f 20 22 2a 2a 2a 20 57 61 72 6e 69  $echo "*** Warni
177f0 6e 67 3a 20 69 6e 74 65 72 2d 6c 69 62 72 61 72  ng: inter-librar
17800 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61  y dependencies a
17810 72 65 20 6e 6f 74 20 6b 6e 6f 77 6e 20 74 6f 20  re not known to 
17820 62 65 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 09  be supported."..
17830 20 20 20 20 66 69 0a 09 20 20 20 20 24 65 63 68      fi..    $ech
17840 6f 20 22 2a 2a 2a 20 41 6c 6c 20 64 65 63 6c 61  o "*** All decla
17850 72 65 64 20 69 6e 74 65 72 2d 6c 69 62 72 61 72  red inter-librar
17860 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61  y dependencies a
17870 72 65 20 62 65 69 6e 67 20 64 72 6f 70 70 65 64  re being dropped
17880 2e 22 0a 09 20 20 20 20 64 72 6f 70 70 65 64 64  ."..    droppedd
17890 65 70 73 3d 79 65 73 0a 09 20 20 66 69 0a 09 20  eps=yes..  fi.. 
178a0 20 3b 3b 0a 09 65 73 61 63 0a 09 76 65 72 73 75   ;;..esac..versu
178b0 66 66 69 78 3d 24 76 65 72 73 75 66 66 69 78 5f  ffix=$versuffix_
178c0 73 61 76 65 0a 09 6d 61 6a 6f 72 3d 24 6d 61 6a  save..major=$maj
178d0 6f 72 5f 73 61 76 65 0a 09 72 65 6c 65 61 73 65  or_save..release
178e0 3d 24 72 65 6c 65 61 73 65 5f 73 61 76 65 0a 09  =$release_save..
178f0 6c 69 62 6e 61 6d 65 3d 24 6c 69 62 6e 61 6d 65  libname=$libname
17900 5f 73 61 76 65 0a 09 6e 61 6d 65 3d 24 6e 61 6d  _save..name=$nam
17910 65 5f 73 61 76 65 0a 0a 09 63 61 73 65 20 24 68  e_save...case $h
17920 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 72 68 61 70  ost in..*-*-rhap
17930 73 6f 64 79 2a 20 7c 20 2a 2d 2a 2d 64 61 72 77  sody* | *-*-darw
17940 69 6e 31 2e 5b 30 31 32 5d 29 0a 09 20 20 23 20  in1.[012])..  # 
17950 4f 6e 20 52 68 61 70 73 6f 64 79 20 72 65 70 6c  On Rhapsody repl
17960 61 63 65 20 74 68 65 20 43 20 6c 69 62 72 61 72  ace the C librar
17970 79 20 69 73 20 74 68 65 20 53 79 73 74 65 6d 20  y is the System 
17980 66 72 61 6d 65 77 6f 72 6b 0a 09 20 20 6e 65 77  framework..  new
17990 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f 20 22  deplibs=`$echo "
179a0 58 20 24 6e 65 77 64 65 70 6c 69 62 73 22 20 7c  X $newdeplibs" |
179b0 20 24 58 73 65 64 20 2d 65 20 27 73 2f 20 2d 6c   $Xsed -e 's/ -l
179c0 63 20 2f 20 2d 66 72 61 6d 65 77 6f 72 6b 20 53  c / -framework S
179d0 79 73 74 65 6d 20 2f 27 60 0a 09 20 20 3b 3b 0a  ystem /'`..  ;;.
179e0 09 65 73 61 63 0a 0a 09 69 66 20 74 65 73 74 20  .esac...if test 
179f0 22 24 64 72 6f 70 70 65 64 64 65 70 73 22 20 3d  "$droppeddeps" =
17a00 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 69 66   yes; then..  if
17a10 20 74 65 73 74 20 22 24 6d 6f 64 75 6c 65 22 20   test "$module" 
17a20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20  = yes; then..   
17a30 20 24 65 63 68 6f 0a 09 20 20 20 20 24 65 63 68   $echo..    $ech
17a40 6f 20 22 2a 2a 2a 20 57 61 72 6e 69 6e 67 3a 20  o "*** Warning: 
17a50 6c 69 62 74 6f 6f 6c 20 63 6f 75 6c 64 20 6e 6f  libtool could no
17a60 74 20 73 61 74 69 73 66 79 20 61 6c 6c 20 64 65  t satisfy all de
17a70 63 6c 61 72 65 64 20 69 6e 74 65 72 2d 6c 69 62  clared inter-lib
17a80 72 61 72 79 22 0a 09 20 20 20 20 24 65 63 68 6f  rary"..    $echo
17a90 20 22 2a 2a 2a 20 64 65 70 65 6e 64 65 6e 63 69   "*** dependenci
17aa0 65 73 20 6f 66 20 6d 6f 64 75 6c 65 20 24 6c 69  es of module $li
17ab0 62 6e 61 6d 65 2e 20 20 54 68 65 72 65 66 6f 72  bname.  Therefor
17ac0 65 2c 20 6c 69 62 74 6f 6f 6c 20 77 69 6c 6c 20  e, libtool will 
17ad0 63 72 65 61 74 65 22 0a 09 20 20 20 20 24 65 63  create"..    $ec
17ae0 68 6f 20 22 2a 2a 2a 20 61 20 73 74 61 74 69 63  ho "*** a static
17af0 20 6d 6f 64 75 6c 65 2c 20 74 68 61 74 20 73 68   module, that sh
17b00 6f 75 6c 64 20 77 6f 72 6b 20 61 73 20 6c 6f 6e  ould work as lon
17b10 67 20 61 73 20 74 68 65 20 64 6c 6f 70 65 6e 69  g as the dlopeni
17b20 6e 67 22 0a 09 20 20 20 20 24 65 63 68 6f 20 22  ng"..    $echo "
17b30 2a 2a 2a 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  *** application 
17b40 69 73 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74  is linked with t
17b50 68 65 20 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 2e  he -dlopen flag.
17b60 22 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d  "..    if test -
17b70 7a 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f  z "$global_symbo
17b80 6c 5f 70 69 70 65 22 3b 20 74 68 65 6e 0a 09 20  l_pipe"; then.. 
17b90 20 20 20 20 20 24 65 63 68 6f 0a 09 20 20 20 20       $echo..    
17ba0 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 48 6f 77    $echo "*** How
17bb0 65 76 65 72 2c 20 74 68 69 73 20 77 6f 75 6c 64  ever, this would
17bc0 20 6f 6e 6c 79 20 77 6f 72 6b 20 69 66 20 6c 69   only work if li
17bd0 62 74 6f 6f 6c 20 77 61 73 20 61 62 6c 65 20 74  btool was able t
17be0 6f 20 65 78 74 72 61 63 74 20 73 79 6d 62 6f 6c  o extract symbol
17bf0 22 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22  "..      $echo "
17c00 2a 2a 2a 20 6c 69 73 74 73 20 66 72 6f 6d 20 61  *** lists from a
17c10 20 70 72 6f 67 72 61 6d 2c 20 75 73 69 6e 67 20   program, using 
17c20 5c 60 6e 6d 27 20 6f 72 20 65 71 75 69 76 61 6c  \`nm' or equival
17c30 65 6e 74 2c 20 62 75 74 20 6c 69 62 74 6f 6f 6c  ent, but libtool
17c40 20 63 6f 75 6c 64 22 0a 09 20 20 20 20 20 20 24   could"..      $
17c50 65 63 68 6f 20 22 2a 2a 2a 20 6e 6f 74 20 66 69  echo "*** not fi
17c60 6e 64 20 73 75 63 68 20 61 20 70 72 6f 67 72 61  nd such a progra
17c70 6d 2e 20 20 53 6f 2c 20 74 68 69 73 20 6d 6f 64  m.  So, this mod
17c80 75 6c 65 20 69 73 20 70 72 6f 62 61 62 6c 79 20  ule is probably 
17c90 75 73 65 6c 65 73 73 2e 22 0a 09 20 20 20 20 20  useless."..     
17ca0 20 24 65 63 68 6f 20 22 2a 2a 2a 20 5c 60 6e 6d   $echo "*** \`nm
17cb0 27 20 66 72 6f 6d 20 47 4e 55 20 62 69 6e 75 74  ' from GNU binut
17cc0 69 6c 73 20 61 6e 64 20 61 20 66 75 6c 6c 20 72  ils and a full r
17cd0 65 62 75 69 6c 64 20 6d 61 79 20 68 65 6c 70 2e  ebuild may help.
17ce0 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 69  "..    fi..    i
17cf0 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f  f test "$build_o
17d00 6c 64 5f 6c 69 62 73 22 20 3d 20 6e 6f 3b 20 74  ld_libs" = no; t
17d10 68 65 6e 0a 09 20 20 20 20 20 20 6f 6c 64 6c 69  hen..      oldli
17d20 62 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64  bs="$output_objd
17d30 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 24 6c 69 62  ir/$libname.$lib
17d40 65 78 74 22 0a 09 20 20 20 20 20 20 62 75 69 6c  ext"..      buil
17d50 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d  d_libtool_libs=m
17d60 6f 64 75 6c 65 0a 09 20 20 20 20 20 20 62 75 69  odule..      bui
17d70 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 79 65 73 0a  ld_old_libs=yes.
17d80 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
17d90 20 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c   build_libtool_l
17da0 69 62 73 3d 6e 6f 0a 09 20 20 20 20 66 69 0a 09  ibs=no..    fi..
17db0 20 20 65 6c 73 65 0a 09 20 20 20 20 24 65 63 68    else..    $ech
17dc0 6f 20 22 2a 2a 2a 20 54 68 65 20 69 6e 74 65 72  o "*** The inter
17dd0 2d 6c 69 62 72 61 72 79 20 64 65 70 65 6e 64 65  -library depende
17de0 6e 63 69 65 73 20 74 68 61 74 20 68 61 76 65 20  ncies that have 
17df0 62 65 65 6e 20 64 72 6f 70 70 65 64 20 68 65 72  been dropped her
17e00 65 20 77 69 6c 6c 20 62 65 22 0a 09 20 20 20 20  e will be"..    
17e10 24 65 63 68 6f 20 22 2a 2a 2a 20 61 75 74 6f 6d  $echo "*** autom
17e20 61 74 69 63 61 6c 6c 79 20 61 64 64 65 64 20 77  atically added w
17e30 68 65 6e 65 76 65 72 20 61 20 70 72 6f 67 72 61  henever a progra
17e40 6d 20 69 73 20 6c 69 6e 6b 65 64 20 77 69 74 68  m is linked with
17e50 20 74 68 69 73 20 6c 69 62 72 61 72 79 22 0a 09   this library"..
17e60 20 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 6f      $echo "*** o
17e70 72 20 69 73 20 64 65 63 6c 61 72 65 64 20 74 6f  r is declared to
17e80 20 2d 64 6c 6f 70 65 6e 20 69 74 2e 22 0a 0a 09   -dlopen it."...
17e90 20 20 20 20 69 66 20 74 65 73 74 20 22 24 61 6c      if test "$al
17ea0 6c 6f 77 5f 75 6e 64 65 66 69 6e 65 64 22 20 3d  low_undefined" =
17eb0 20 6e 6f 3b 20 74 68 65 6e 0a 09 20 20 20 20 20   no; then..     
17ec0 20 24 65 63 68 6f 0a 09 20 20 20 20 20 20 24 65   $echo..      $e
17ed0 63 68 6f 20 22 2a 2a 2a 20 53 69 6e 63 65 20 74  cho "*** Since t
17ee0 68 69 73 20 6c 69 62 72 61 72 79 20 6d 75 73 74  his library must
17ef0 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 75 6e 64   not contain und
17f00 65 66 69 6e 65 64 20 73 79 6d 62 6f 6c 73 2c 22  efined symbols,"
17f10 0a 09 20 20 20 20 20 20 24 65 63 68 6f 20 22 2a  ..      $echo "*
17f20 2a 2a 20 62 65 63 61 75 73 65 20 65 69 74 68 65  ** because eithe
17f30 72 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 64  r the platform d
17f40 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20  oes not support 
17f50 74 68 65 6d 20 6f 72 22 0a 09 20 20 20 20 20 20  them or"..      
17f60 24 65 63 68 6f 20 22 2a 2a 2a 20 69 74 20 77 61  $echo "*** it wa
17f70 73 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 71  s explicitly req
17f80 75 65 73 74 65 64 20 77 69 74 68 20 2d 6e 6f 2d  uested with -no-
17f90 75 6e 64 65 66 69 6e 65 64 2c 22 0a 09 20 20 20  undefined,"..   
17fa0 20 20 20 24 65 63 68 6f 20 22 2a 2a 2a 20 6c 69     $echo "*** li
17fb0 62 74 6f 6f 6c 20 77 69 6c 6c 20 6f 6e 6c 79 20  btool will only 
17fc0 63 72 65 61 74 65 20 61 20 73 74 61 74 69 63 20  create a static 
17fd0 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 2e 22 0a  version of it.".
17fe0 09 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
17ff0 24 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22  $build_old_libs"
18000 20 3d 20 6e 6f 3b 20 74 68 65 6e 0a 09 09 6f 6c   = no; then...ol
18010 64 6c 69 62 73 3d 22 24 6f 75 74 70 75 74 5f 6f  dlibs="$output_o
18020 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e 24  bjdir/$libname.$
18030 6c 69 62 65 78 74 22 0a 09 09 62 75 69 6c 64 5f  libext"...build_
18040 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6d 6f 64  libtool_libs=mod
18050 75 6c 65 0a 09 09 62 75 69 6c 64 5f 6f 6c 64 5f  ule...build_old_
18060 6c 69 62 73 3d 79 65 73 0a 09 20 20 20 20 20 20  libs=yes..      
18070 65 6c 73 65 0a 09 09 62 75 69 6c 64 5f 6c 69 62  else...build_lib
18080 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 20 20  tool_libs=no..  
18090 20 20 20 20 66 69 0a 09 20 20 20 20 66 69 0a 09      fi..    fi..
180a0 20 20 66 69 0a 09 66 69 0a 09 23 20 44 6f 6e 65    fi..fi..# Done
180b0 20 63 68 65 63 6b 69 6e 67 20 64 65 70 6c 69 62   checking deplib
180c0 73 21 0a 09 64 65 70 6c 69 62 73 3d 24 6e 65 77  s!..deplibs=$new
180d0 64 65 70 6c 69 62 73 0a 20 20 20 20 20 20 66 69  deplibs.      fi
180e0 0a 0a 20 20 20 20 20 20 23 20 41 6c 6c 20 74 68  ..      # All th
180f0 65 20 6c 69 62 72 61 72 79 2d 73 70 65 63 69 66  e library-specif
18100 69 63 20 76 61 72 69 61 62 6c 65 73 20 28 69 6e  ic variables (in
18110 73 74 61 6c 6c 5f 6c 69 62 64 69 72 20 69 73 20  stall_libdir is 
18120 73 65 74 20 61 62 6f 76 65 29 2e 0a 20 20 20 20  set above)..    
18130 20 20 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d    library_names=
18140 0a 20 20 20 20 20 20 6f 6c 64 5f 6c 69 62 72 61  .      old_libra
18150 72 79 3d 0a 20 20 20 20 20 20 64 6c 6e 61 6d 65  ry=.      dlname
18160 3d 0a 0a 20 20 20 20 20 20 23 20 54 65 73 74 20  =..      # Test 
18170 61 67 61 69 6e 2c 20 77 65 20 6d 61 79 20 68 61  again, we may ha
18180 76 65 20 64 65 63 69 64 65 64 20 6e 6f 74 20 74  ve decided not t
18190 6f 20 62 75 69 6c 64 20 69 74 20 61 6e 79 20 6d  o build it any m
181a0 6f 72 65 0a 20 20 20 20 20 20 69 66 20 74 65 73  ore.      if tes
181b0 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f  t "$build_libtoo
181c0 6c 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74  l_libs" = yes; t
181d0 68 65 6e 0a 09 69 66 20 74 65 73 74 20 22 24 68  hen..if test "$h
181e0 61 72 64 63 6f 64 65 5f 69 6e 74 6f 5f 6c 69 62  ardcode_into_lib
181f0 73 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  s" = yes; then..
18200 20 20 23 20 48 61 72 64 63 6f 64 65 20 74 68 65    # Hardcode the
18210 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 0a 09   library paths..
18220 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69    hardcode_libdi
18230 72 73 3d 0a 09 20 20 64 65 70 5f 72 70 61 74 68  rs=..  dep_rpath
18240 3d 0a 09 20 20 72 70 61 74 68 3d 22 24 66 69 6e  =..  rpath="$fin
18250 61 6c 69 7a 65 5f 72 70 61 74 68 22 0a 09 20 20  alize_rpath"..  
18260 74 65 73 74 20 22 24 6d 6f 64 65 22 20 21 3d 20  test "$mode" != 
18270 72 65 6c 69 6e 6b 20 26 26 20 72 70 61 74 68 3d  relink && rpath=
18280 22 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 24  "$compile_rpath$
18290 72 70 61 74 68 22 0a 09 20 20 66 6f 72 20 6c 69  rpath"..  for li
182a0 62 64 69 72 20 69 6e 20 24 72 70 61 74 68 3b 20  bdir in $rpath; 
182b0 64 6f 0a 09 20 20 20 20 69 66 20 74 65 73 74 20  do..    if test 
182c0 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  -n "$hardcode_li
182d0 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 22 3b  bdir_flag_spec";
182e0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 69 66 20   then..      if 
182f0 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f  test -n "$hardco
18300 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
18310 74 6f 72 22 3b 20 74 68 65 6e 0a 09 09 69 66 20  tor"; then...if 
18320 74 65 73 74 20 2d 7a 20 22 24 68 61 72 64 63 6f  test -z "$hardco
18330 64 65 5f 6c 69 62 64 69 72 73 22 3b 20 74 68 65  de_libdirs"; the
18340 6e 0a 09 09 20 20 68 61 72 64 63 6f 64 65 5f 6c  n...  hardcode_l
18350 69 62 64 69 72 73 3d 22 24 6c 69 62 64 69 72 22  ibdirs="$libdir"
18360 0a 09 09 65 6c 73 65 0a 09 09 20 20 23 20 4a 75  ...else...  # Ju
18370 73 74 20 61 63 63 75 6d 75 6c 61 74 65 20 74 68  st accumulate th
18380 65 20 75 6e 69 71 75 65 20 6c 69 62 64 69 72 73  e unique libdirs
18390 2e 0a 09 09 20 20 63 61 73 65 20 24 68 61 72 64  ....  case $hard
183a0 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
183b0 72 61 74 6f 72 24 68 61 72 64 63 6f 64 65 5f 6c  rator$hardcode_l
183c0 69 62 64 69 72 73 24 68 61 72 64 63 6f 64 65 5f  ibdirs$hardcode_
183d0 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
183e0 20 69 6e 0a 09 09 20 20 2a 22 24 68 61 72 64 63   in...  *"$hardc
183f0 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72  ode_libdir_separ
18400 61 74 6f 72 24 6c 69 62 64 69 72 24 68 61 72 64  ator$libdir$hard
18410 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
18420 72 61 74 6f 72 22 2a 29 0a 09 09 20 20 20 20 3b  rator"*)...    ;
18430 3b 0a 09 09 20 20 2a 29 0a 09 09 20 20 20 20 68  ;...  *)...    h
18440 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d  ardcode_libdirs=
18450 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  "$hardcode_libdi
18460 72 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  rs$hardcode_libd
18470 69 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62  ir_separator$lib
18480 64 69 72 22 0a 09 09 20 20 20 20 3b 3b 0a 09 09  dir"...    ;;...
18490 20 20 65 73 61 63 0a 09 09 66 69 0a 09 20 20 20    esac...fi..   
184a0 20 20 20 65 6c 73 65 0a 09 09 65 76 61 6c 20 66     else...eval f
184b0 6c 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f  lag=\"$hardcode_
184c0 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
184d0 5c 22 0a 09 09 64 65 70 5f 72 70 61 74 68 3d 22  \"...dep_rpath="
184e0 24 64 65 70 5f 72 70 61 74 68 20 24 66 6c 61 67  $dep_rpath $flag
184f0 22 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20  "..      fi..   
18500 20 65 6c 69 66 20 74 65 73 74 20 2d 6e 20 22 24   elif test -n "$
18510 72 75 6e 70 61 74 68 5f 76 61 72 22 3b 20 74 68  runpath_var"; th
18520 65 6e 0a 09 20 20 20 20 20 20 63 61 73 65 20 22  en..      case "
18530 24 70 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e  $perm_rpath " in
18540 0a 09 20 20 20 20 20 20 2a 22 20 24 6c 69 62 64  ..      *" $libd
18550 69 72 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 20  ir "*) ;;..     
18560 20 2a 29 20 70 65 72 6d 5f 72 70 61 74 68 3d 22   *) perm_rpath="
18570 24 70 65 72 6d 5f 72 70 61 74 68 20 24 6c 69 62  $perm_rpath $lib
18580 64 69 72 22 20 3b 3b 0a 09 20 20 20 20 20 20 65  dir" ;;..      e
18590 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 64  sac..    fi..  d
185a0 6f 6e 65 0a 09 20 20 23 20 53 75 62 73 74 69 74  one..  # Substit
185b0 75 74 65 20 74 68 65 20 68 61 72 64 63 6f 64 65  ute the hardcode
185c0 64 20 6c 69 62 64 69 72 73 20 69 6e 74 6f 20 74  d libdirs into t
185d0 68 65 20 72 70 61 74 68 2e 0a 09 20 20 69 66 20  he rpath...  if 
185e0 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f  test -n "$hardco
185f0 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
18600 74 6f 72 22 20 26 26 0a 09 20 20 20 20 20 74 65  tor" &&..     te
18610 73 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65  st -n "$hardcode
18620 5f 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a  _libdirs"; then.
18630 09 20 20 20 20 6c 69 62 64 69 72 3d 22 24 68 61  .    libdir="$ha
18640 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22 0a  rdcode_libdirs".
18650 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
18660 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  "$hardcode_libdi
18670 72 5f 66 6c 61 67 5f 73 70 65 63 5f 6c 64 22 3b  r_flag_spec_ld";
18680 20 74 68 65 6e 0a 09 20 20 20 20 20 20 65 76 61   then..      eva
18690 6c 20 64 65 70 5f 72 70 61 74 68 3d 5c 22 24 68  l dep_rpath=\"$h
186a0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
186b0 6c 61 67 5f 73 70 65 63 5f 6c 64 5c 22 0a 09 20  lag_spec_ld\".. 
186c0 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 65     else..      e
186d0 76 61 6c 20 64 65 70 5f 72 70 61 74 68 3d 5c 22  val dep_rpath=\"
186e0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
186f0 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09 20 20  _flag_spec\"..  
18700 20 20 66 69 0a 09 20 20 66 69 0a 09 20 20 69 66    fi..  fi..  if
18710 20 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61   test -n "$runpa
18720 74 68 5f 76 61 72 22 20 26 26 20 74 65 73 74 20  th_var" && test 
18730 2d 6e 20 22 24 70 65 72 6d 5f 72 70 61 74 68 22  -n "$perm_rpath"
18740 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 57 65  ; then..    # We
18750 20 73 68 6f 75 6c 64 20 73 65 74 20 74 68 65 20   should set the 
18760 72 75 6e 70 61 74 68 5f 76 61 72 2e 0a 09 20 20  runpath_var...  
18770 20 20 72 70 61 74 68 3d 0a 09 20 20 20 20 66 6f    rpath=..    fo
18780 72 20 64 69 72 20 69 6e 20 24 70 65 72 6d 5f 72  r dir in $perm_r
18790 70 61 74 68 3b 20 64 6f 0a 09 20 20 20 20 20 20  path; do..      
187a0 72 70 61 74 68 3d 22 24 72 70 61 74 68 24 64 69  rpath="$rpath$di
187b0 72 3a 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20  r:"..    done.. 
187c0 20 20 20 65 76 61 6c 20 22 24 72 75 6e 70 61 74     eval "$runpat
187d0 68 5f 76 61 72 3d 27 24 72 70 61 74 68 5c 24 24  h_var='$rpath\$$
187e0 72 75 6e 70 61 74 68 5f 76 61 72 27 3b 20 65 78  runpath_var'; ex
187f0 70 6f 72 74 20 24 72 75 6e 70 61 74 68 5f 76 61  port $runpath_va
18800 72 22 0a 09 20 20 66 69 0a 09 20 20 74 65 73 74  r"..  fi..  test
18810 20 2d 6e 20 22 24 64 65 70 5f 72 70 61 74 68 22   -n "$dep_rpath"
18820 20 26 26 20 64 65 70 6c 69 62 73 3d 22 24 64 65   && deplibs="$de
18830 70 5f 72 70 61 74 68 20 24 64 65 70 6c 69 62 73  p_rpath $deplibs
18840 22 0a 09 66 69 0a 0a 09 73 68 6c 69 62 70 61 74  "..fi...shlibpat
18850 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 73 68 6c  h="$finalize_shl
18860 69 62 70 61 74 68 22 0a 09 74 65 73 74 20 22 24  ibpath"..test "$
18870 6d 6f 64 65 22 20 21 3d 20 72 65 6c 69 6e 6b 20  mode" != relink 
18880 26 26 20 73 68 6c 69 62 70 61 74 68 3d 22 24 63  && shlibpath="$c
18890 6f 6d 70 69 6c 65 5f 73 68 6c 69 62 70 61 74 68  ompile_shlibpath
188a0 24 73 68 6c 69 62 70 61 74 68 22 0a 09 69 66 20  $shlibpath"..if 
188b0 74 65 73 74 20 2d 6e 20 22 24 73 68 6c 69 62 70  test -n "$shlibp
188c0 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20 65 76  ath"; then..  ev
188d0 61 6c 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76  al "$shlibpath_v
188e0 61 72 3d 27 24 73 68 6c 69 62 70 61 74 68 5c 24  ar='$shlibpath\$
188f0 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 27 3b  $shlibpath_var';
18900 20 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61   export $shlibpa
18910 74 68 5f 76 61 72 22 0a 09 66 69 0a 0a 09 23 20  th_var"..fi...# 
18920 47 65 74 20 74 68 65 20 72 65 61 6c 20 61 6e 64  Get the real and
18930 20 6c 69 6e 6b 20 6e 61 6d 65 73 20 6f 66 20 74   link names of t
18940 68 65 20 6c 69 62 72 61 72 79 2e 0a 09 65 76 61  he library...eva
18950 6c 20 73 68 61 72 65 64 5f 65 78 74 3d 5c 22 24  l shared_ext=\"$
18960 73 68 72 65 78 74 5c 22 0a 09 65 76 61 6c 20 6c  shrext\"..eval l
18970 69 62 72 61 72 79 5f 6e 61 6d 65 73 3d 5c 22 24  ibrary_names=\"$
18980 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 5f 73 70  library_names_sp
18990 65 63 5c 22 0a 09 73 65 74 20 64 75 6d 6d 79 20  ec\"..set dummy 
189a0 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 0a 09  $library_names..
189b0 72 65 61 6c 6e 61 6d 65 3d 22 24 32 22 0a 09 73  realname="$2"..s
189c0 68 69 66 74 3b 20 73 68 69 66 74 0a 0a 09 69 66  hift; shift...if
189d0 20 74 65 73 74 20 2d 6e 20 22 24 73 6f 6e 61 6d   test -n "$sonam
189e0 65 5f 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20  e_spec"; then.. 
189f0 20 65 76 61 6c 20 73 6f 6e 61 6d 65 3d 5c 22 24   eval soname=\"$
18a00 73 6f 6e 61 6d 65 5f 73 70 65 63 5c 22 0a 09 65  soname_spec\"..e
18a10 6c 73 65 0a 09 20 20 73 6f 6e 61 6d 65 3d 22 24  lse..  soname="$
18a20 72 65 61 6c 6e 61 6d 65 22 0a 09 66 69 0a 09 69  realname"..fi..i
18a30 66 20 74 65 73 74 20 2d 7a 20 22 24 64 6c 6e 61  f test -z "$dlna
18a40 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 64 6c 6e  me"; then..  dln
18a50 61 6d 65 3d 24 73 6f 6e 61 6d 65 0a 09 66 69 0a  ame=$soname..fi.
18a60 0a 09 6c 69 62 3d 22 24 6f 75 74 70 75 74 5f 6f  ..lib="$output_o
18a70 62 6a 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22  bjdir/$realname"
18a80 0a 09 66 6f 72 20 6c 69 6e 6b 0a 09 64 6f 0a 09  ..for link..do..
18a90 20 20 6c 69 6e 6b 6e 61 6d 65 73 3d 22 24 6c 69    linknames="$li
18aa0 6e 6b 6e 61 6d 65 73 20 24 6c 69 6e 6b 22 0a 09  nknames $link"..
18ab0 64 6f 6e 65 0a 0a 09 23 20 55 73 65 20 73 74 61  done...# Use sta
18ac0 6e 64 61 72 64 20 6f 62 6a 65 63 74 73 20 69 66  ndard objects if
18ad0 20 74 68 65 79 20 61 72 65 20 70 69 63 0a 09 74   they are pic..t
18ae0 65 73 74 20 2d 7a 20 22 24 70 69 63 5f 66 6c 61  est -z "$pic_fla
18af0 67 22 20 26 26 20 6c 69 62 6f 62 6a 73 3d 60 24  g" && libobjs=`$
18b00 65 63 68 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22  echo "X$libobjs"
18b10 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65   | $SP2NL | $Xse
18b20 64 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24  d -e "$lo2o" | $
18b30 4e 4c 32 53 50 60 0a 0a 09 23 20 50 72 65 70 61  NL2SP`...# Prepa
18b40 72 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 65  re the list of e
18b50 78 70 6f 72 74 65 64 20 73 79 6d 62 6f 6c 73 0a  xported symbols.
18b60 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 65 78  .if test -z "$ex
18b70 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 3b 20 74  port_symbols"; t
18b80 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 22  hen..  if test "
18b90 24 61 6c 77 61 79 73 5f 65 78 70 6f 72 74 5f 73  $always_export_s
18ba0 79 6d 62 6f 6c 73 22 20 3d 20 79 65 73 20 7c 7c  ymbols" = yes ||
18bb0 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72   test -n "$expor
18bc0 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22  t_symbols_regex"
18bd0 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 73 68 6f  ; then..    $sho
18be0 77 20 22 67 65 6e 65 72 61 74 69 6e 67 20 73 79  w "generating sy
18bf0 6d 62 6f 6c 20 6c 69 73 74 20 66 6f 72 20 5c 60  mbol list for \`
18c00 24 6c 69 62 6e 61 6d 65 2e 6c 61 27 22 0a 09 20  $libname.la'".. 
18c10 20 20 20 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c     export_symbol
18c20 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  s="$output_objdi
18c30 72 2f 24 6c 69 62 6e 61 6d 65 2e 65 78 70 22 0a  r/$libname.exp".
18c40 09 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24 65  .    $run $rm $e
18c50 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09 20  xport_symbols.. 
18c60 20 20 20 63 6d 64 73 3d 24 65 78 70 6f 72 74 5f     cmds=$export_
18c70 73 79 6d 62 6f 6c 73 5f 63 6d 64 73 0a 09 20 20  symbols_cmds..  
18c80 20 20 73 61 76 65 5f 69 66 73 3d 22 24 49 46 53    save_ifs="$IFS
18c90 22 3b 20 49 46 53 3d 27 7e 27 0a 09 20 20 20 20  "; IFS='~'..    
18ca0 66 6f 72 20 63 6d 64 20 69 6e 20 24 63 6d 64 73  for cmd in $cmds
18cb0 3b 20 64 6f 0a 09 20 20 20 20 20 20 49 46 53 3d  ; do..      IFS=
18cc0 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20 20  "$save_ifs"..   
18cd0 20 20 20 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63     eval cmd=\"$c
18ce0 6d 64 5c 22 0a 09 20 20 20 20 20 20 69 66 20 6c  md\"..      if l
18cf0 65 6e 3d 60 65 78 70 72 20 22 58 24 63 6d 64 22  en=`expr "X$cmd"
18d00 20 3a 20 22 2e 2a 22 60 20 26 26 0a 09 20 20 20   : ".*"` &&..   
18d10 20 20 20 20 74 65 73 74 20 22 24 6c 65 6e 22 20      test "$len" 
18d20 2d 6c 65 20 22 24 6d 61 78 5f 63 6d 64 5f 6c 65  -le "$max_cmd_le
18d30 6e 22 20 7c 7c 20 74 65 73 74 20 22 24 6d 61 78  n" || test "$max
18d40 5f 63 6d 64 5f 6c 65 6e 22 20 2d 6c 65 20 2d 31  _cmd_len" -le -1
18d50 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 20 20  ; then..        
18d60 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20 20  $show "$cmd"..  
18d70 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
18d80 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20 24  "$cmd" || exit $
18d90 3f 0a 09 20 20 20 20 20 20 20 20 73 6b 69 70 70  ?..        skipp
18da0 65 64 5f 65 78 70 6f 72 74 3d 66 61 6c 73 65 0a  ed_export=false.
18db0 09 20 20 20 20 20 20 65 6c 73 65 0a 09 20 20 20  .      else..   
18dc0 20 20 20 20 20 23 20 54 68 65 20 63 6f 6d 6d 61       # The comma
18dd0 6e 64 20 6c 69 6e 65 20 69 73 20 74 6f 6f 20 6c  nd line is too l
18de0 6f 6e 67 20 74 6f 20 65 78 65 63 75 74 65 20 69  ong to execute i
18df0 6e 20 6f 6e 65 20 73 74 65 70 2e 0a 09 20 20 20  n one step...   
18e00 20 20 20 20 20 24 73 68 6f 77 20 22 75 73 69 6e       $show "usin
18e10 67 20 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62 6a  g reloadable obj
18e20 65 63 74 20 66 69 6c 65 20 66 6f 72 20 65 78 70  ect file for exp
18e30 6f 72 74 20 6c 69 73 74 2e 2e 2e 22 0a 09 20 20  ort list..."..  
18e40 20 20 20 20 20 20 73 6b 69 70 70 65 64 5f 65 78        skipped_ex
18e50 70 6f 72 74 3d 3a 0a 09 20 20 20 20 20 20 66 69  port=:..      fi
18e60 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20  ..    done..    
18e70 49 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a  IFS="$save_ifs".
18e80 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20  .    if test -n 
18e90 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  "$export_symbols
18ea0 5f 72 65 67 65 78 22 3b 20 74 68 65 6e 0a 09 20  _regex"; then.. 
18eb0 20 20 20 20 20 24 73 68 6f 77 20 22 24 45 47 52       $show "$EGR
18ec0 45 50 20 2d 65 20 5c 22 24 65 78 70 6f 72 74 5f  EP -e \"$export_
18ed0 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 5c 22 20  symbols_regex\" 
18ee0 5c 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c  \"$export_symbol
18ef0 73 5c 22 20 3e 20 5c 22 24 7b 65 78 70 6f 72 74  s\" > \"${export
18f00 5f 73 79 6d 62 6f 6c 73 7d 54 5c 22 22 0a 09 20  _symbols}T\"".. 
18f10 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27       $run eval '
18f20 24 45 47 52 45 50 20 2d 65 20 22 24 65 78 70 6f  $EGREP -e "$expo
18f30 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78  rt_symbols_regex
18f40 22 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f  " "$export_symbo
18f50 6c 73 22 20 3e 20 22 24 7b 65 78 70 6f 72 74 5f  ls" > "${export_
18f60 73 79 6d 62 6f 6c 73 7d 54 22 27 0a 09 20 20 20  symbols}T"'..   
18f70 20 20 20 24 73 68 6f 77 20 22 24 6d 76 20 5c 22     $show "$mv \"
18f80 24 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73  ${export_symbols
18f90 7d 54 5c 22 20 5c 22 24 65 78 70 6f 72 74 5f 73  }T\" \"$export_s
18fa0 79 6d 62 6f 6c 73 5c 22 22 0a 09 20 20 20 20 20  ymbols\""..     
18fb0 20 24 72 75 6e 20 65 76 61 6c 20 27 24 6d 76 20   $run eval '$mv 
18fc0 22 24 7b 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c  "${export_symbol
18fd0 73 7d 54 22 20 22 24 65 78 70 6f 72 74 5f 73 79  s}T" "$export_sy
18fe0 6d 62 6f 6c 73 22 27 0a 09 20 20 20 20 66 69 0a  mbols"'..    fi.
18ff0 09 20 20 66 69 0a 09 66 69 0a 0a 09 69 66 20 74  .  fi..fi...if t
19000 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f  est -n "$export_
19010 73 79 6d 62 6f 6c 73 22 20 26 26 20 74 65 73 74  symbols" && test
19020 20 2d 6e 20 22 24 69 6e 63 6c 75 64 65 5f 65 78   -n "$include_ex
19030 70 73 79 6d 73 22 3b 20 74 68 65 6e 0a 09 20 20  psyms"; then..  
19040 24 72 75 6e 20 65 76 61 6c 20 27 24 65 63 68 6f  $run eval '$echo
19050 20 22 58 24 69 6e 63 6c 75 64 65 5f 65 78 70 73   "X$include_exps
19060 79 6d 73 22 20 7c 20 24 53 50 32 4e 4c 20 3e 3e  yms" | $SP2NL >>
19070 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c   "$export_symbol
19080 73 22 27 0a 09 66 69 0a 0a 09 74 6d 70 5f 64 65  s"'..fi...tmp_de
19090 70 6c 69 62 73 3d 0a 09 66 6f 72 20 74 65 73 74  plibs=..for test
190a0 5f 64 65 70 6c 69 62 20 69 6e 20 24 64 65 70 6c  _deplib in $depl
190b0 69 62 73 3b 20 64 6f 0a 09 09 63 61 73 65 20 22  ibs; do...case "
190c0 20 24 63 6f 6e 76 65 6e 69 65 6e 63 65 20 22 20   $convenience " 
190d0 69 6e 0a 09 09 2a 22 20 24 74 65 73 74 5f 64 65  in...*" $test_de
190e0 70 6c 69 62 20 22 2a 29 20 3b 3b 0a 09 09 2a 29  plib "*) ;;...*)
190f0 20 0a 09 09 09 74 6d 70 5f 64 65 70 6c 69 62 73   ....tmp_deplibs
19100 3d 22 24 74 6d 70 5f 64 65 70 6c 69 62 73 20 24  ="$tmp_deplibs $
19110 74 65 73 74 5f 64 65 70 6c 69 62 22 0a 09 09 09  test_deplib"....
19120 3b 3b 0a 09 09 65 73 61 63 0a 09 64 6f 6e 65 0a  ;;...esac..done.
19130 09 64 65 70 6c 69 62 73 3d 22 24 74 6d 70 5f 64  .deplibs="$tmp_d
19140 65 70 6c 69 62 73 22 20 0a 0a 09 69 66 20 74 65  eplibs" ...if te
19150 73 74 20 2d 6e 20 22 24 63 6f 6e 76 65 6e 69 65  st -n "$convenie
19160 6e 63 65 22 3b 20 74 68 65 6e 0a 09 20 20 69 66  nce"; then..  if
19170 20 74 65 73 74 20 2d 6e 20 22 24 77 68 6f 6c 65   test -n "$whole
19180 5f 61 72 63 68 69 76 65 5f 66 6c 61 67 5f 73 70  _archive_flag_sp
19190 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 73  ec"; then..    s
191a0 61 76 65 5f 6c 69 62 6f 62 6a 73 3d 24 6c 69 62  ave_libobjs=$lib
191b0 6f 62 6a 73 0a 09 20 20 20 20 65 76 61 6c 20 6c  objs..    eval l
191c0 69 62 6f 62 6a 73 3d 5c 22 5c 24 6c 69 62 6f 62  ibobjs=\"\$libob
191d0 6a 73 20 24 77 68 6f 6c 65 5f 61 72 63 68 69 76  js $whole_archiv
191e0 65 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09 20  e_flag_spec\".. 
191f0 20 65 6c 73 65 0a 09 20 20 20 20 67 65 6e 74 6f   else..    gento
19200 70 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  p="$output_objdi
19210 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 78  r/${outputname}x
19220 22 0a 09 20 20 20 20 24 73 68 6f 77 20 22 24 7b  "..    $show "${
19230 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 20  rm}r $gentop".. 
19240 20 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20 22     $run ${rm}r "
19250 24 67 65 6e 74 6f 70 22 0a 09 20 20 20 20 24 73  $gentop"..    $s
19260 68 6f 77 20 22 24 6d 6b 64 69 72 20 24 67 65 6e  how "$mkdir $gen
19270 74 6f 70 22 0a 09 20 20 20 20 24 72 75 6e 20 24  top"..    $run $
19280 6d 6b 64 69 72 20 22 24 67 65 6e 74 6f 70 22 0a  mkdir "$gentop".
19290 09 20 20 20 20 73 74 61 74 75 73 3d 24 3f 0a 09  .    status=$?..
192a0 20 20 20 20 69 66 20 74 65 73 74 20 22 24 73 74      if test "$st
192b0 61 74 75 73 22 20 2d 6e 65 20 30 20 26 26 20 74  atus" -ne 0 && t
192c0 65 73 74 20 21 20 2d 64 20 22 24 67 65 6e 74 6f  est ! -d "$gento
192d0 70 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  p"; then..      
192e0 65 78 69 74 20 24 73 74 61 74 75 73 0a 09 20 20  exit $status..  
192f0 20 20 66 69 0a 09 20 20 20 20 67 65 6e 65 72 61    fi..    genera
19300 74 65 64 3d 22 24 67 65 6e 65 72 61 74 65 64 20  ted="$generated 
19310 24 67 65 6e 74 6f 70 22 0a 0a 09 20 20 20 20 66  $gentop"...    f
19320 6f 72 20 78 6c 69 62 20 69 6e 20 24 63 6f 6e 76  or xlib in $conv
19330 65 6e 69 65 6e 63 65 3b 20 64 6f 0a 09 20 20 20  enience; do..   
19340 20 20 20 23 20 45 78 74 72 61 63 74 20 74 68 65     # Extract the
19350 20 6f 62 6a 65 63 74 73 2e 0a 09 20 20 20 20 20   objects...     
19360 20 63 61 73 65 20 24 78 6c 69 62 20 69 6e 0a 09   case $xlib in..
19370 20 20 20 20 20 20 5b 5c 5c 2f 5d 2a 20 7c 20 5b        [\\/]* | [
19380 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20  A-Za-z]:[\\/]*) 
19390 78 61 62 73 3d 22 24 78 6c 69 62 22 20 3b 3b 0a  xabs="$xlib" ;;.
193a0 09 20 20 20 20 20 20 2a 29 20 78 61 62 73 3d 60  .      *) xabs=`
193b0 70 77 64 60 22 2f 24 78 6c 69 62 22 20 3b 3b 0a  pwd`"/$xlib" ;;.
193c0 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
193d0 20 20 20 78 6c 69 62 3d 60 24 65 63 68 6f 20 22     xlib=`$echo "
193e0 58 24 78 6c 69 62 22 20 7c 20 24 58 73 65 64 20  X$xlib" | $Xsed 
193f0 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09  -e 's%^.*/%%'`..
19400 20 20 20 20 20 20 78 64 69 72 3d 22 24 67 65 6e        xdir="$gen
19410 74 6f 70 2f 24 78 6c 69 62 22 0a 0a 09 20 20 20  top/$xlib"...   
19420 20 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72     $show "${rm}r
19430 20 24 78 64 69 72 22 0a 09 20 20 20 20 20 20 24   $xdir"..      $
19440 72 75 6e 20 24 7b 72 6d 7d 72 20 22 24 78 64 69  run ${rm}r "$xdi
19450 72 22 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20  r"..      $show 
19460 22 24 6d 6b 64 69 72 20 24 78 64 69 72 22 0a 09  "$mkdir $xdir"..
19470 20 20 20 20 20 20 24 72 75 6e 20 24 6d 6b 64 69        $run $mkdi
19480 72 20 22 24 78 64 69 72 22 0a 09 20 20 20 20 20  r "$xdir"..     
19490 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 20 20   status=$?..    
194a0 20 20 69 66 20 74 65 73 74 20 22 24 73 74 61 74    if test "$stat
194b0 75 73 22 20 2d 6e 65 20 30 20 26 26 20 74 65 73  us" -ne 0 && tes
194c0 74 20 21 20 2d 64 20 22 24 78 64 69 72 22 3b 20  t ! -d "$xdir"; 
194d0 74 68 65 6e 0a 09 09 65 78 69 74 20 24 73 74 61  then...exit $sta
194e0 74 75 73 0a 09 20 20 20 20 20 20 66 69 0a 09 20  tus..      fi.. 
194f0 20 20 20 20 20 23 20 57 65 20 77 69 6c 6c 20 65       # We will e
19500 78 74 72 61 63 74 20 73 65 70 61 72 61 74 65 6c  xtract separatel
19510 79 20 6a 75 73 74 20 74 68 65 20 63 6f 6e 66 6c  y just the confl
19520 69 63 74 69 6e 67 20 6e 61 6d 65 73 20 61 6e 64  icting names and
19530 20 77 65 20 77 69 6c 6c 20 6e 6f 0a 09 20 20 20   we will no..   
19540 20 20 20 23 20 6c 6f 6e 67 65 72 20 74 6f 75 63     # longer touc
19550 68 20 61 6e 79 20 75 6e 69 71 75 65 20 6e 61 6d  h any unique nam
19560 65 73 2e 20 49 74 20 69 73 20 66 61 73 74 65 72  es. It is faster
19570 20 74 6f 20 6c 65 61 76 65 20 74 68 65 73 65 20   to leave these 
19580 65 78 74 72 61 63 74 0a 09 20 20 20 20 20 20 23  extract..      #
19590 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62   automatically b
195a0 79 20 24 41 52 20 69 6e 20 6f 6e 65 20 72 75 6e  y $AR in one run
195b0 2e 0a 09 20 20 20 20 20 20 24 73 68 6f 77 20 22  ...      $show "
195c0 28 63 64 20 24 78 64 69 72 20 26 26 20 24 41 52  (cd $xdir && $AR
195d0 20 78 20 24 78 61 62 73 29 22 0a 09 20 20 20 20   x $xabs)"..    
195e0 20 20 24 72 75 6e 20 65 76 61 6c 20 22 28 63 64    $run eval "(cd
195f0 20 5c 24 78 64 69 72 20 26 26 20 24 41 52 20 78   \$xdir && $AR x
19600 20 5c 24 78 61 62 73 29 22 20 7c 7c 20 65 78 69   \$xabs)" || exi
19610 74 20 24 3f 0a 09 20 20 20 20 20 20 69 66 20 28  t $?..      if (
19620 24 41 52 20 74 20 22 24 78 61 62 73 22 20 7c 20  $AR t "$xabs" | 
19630 73 6f 72 74 20 7c 20 73 6f 72 74 20 2d 75 63 20  sort | sort -uc 
19640 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 29  >/dev/null 2>&1)
19650 3b 20 74 68 65 6e 0a 09 09 3a 0a 09 20 20 20 20  ; then...:..    
19660 20 20 65 6c 73 65 0a 09 09 24 65 63 68 6f 20 22    else...$echo "
19670 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
19680 6e 67 3a 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20  ng: object name 
19690 63 6f 6e 66 6c 69 63 74 73 3b 20 72 65 6e 61 6d  conflicts; renam
196a0 69 6e 67 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  ing object files
196b0 22 20 31 3e 26 32 0a 09 09 24 65 63 68 6f 20 22  " 1>&2...$echo "
196c0 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69  $modename: warni
196d0 6e 67 3a 20 74 6f 20 65 6e 73 75 72 65 20 74 68  ng: to ensure th
196e0 61 74 20 74 68 65 79 20 77 69 6c 6c 20 6e 6f 74  at they will not
196f0 20 6f 76 65 72 77 72 69 74 65 22 20 31 3e 26 32   overwrite" 1>&2
19700 0a 09 09 24 41 52 20 74 20 22 24 78 61 62 73 22  ...$AR t "$xabs"
19710 20 7c 20 73 6f 72 74 20 7c 20 75 6e 69 71 20 2d   | sort | uniq -
19720 63 64 20 7c 20 77 68 69 6c 65 20 72 65 61 64 20  cd | while read 
19730 2d 72 20 63 6f 75 6e 74 20 6e 61 6d 65 0a 09 09  -r count name...
19740 64 6f 0a 09 09 20 20 69 3d 31 0a 09 09 20 20 77  do...  i=1...  w
19750 68 69 6c 65 20 74 65 73 74 20 22 24 69 22 20 2d  hile test "$i" -
19760 6c 65 20 22 24 63 6f 75 6e 74 22 0a 09 09 20 20  le "$count"...  
19770 64 6f 0a 09 09 20 20 20 23 20 50 75 74 20 6f 75  do...   # Put ou
19780 72 20 24 69 20 62 65 66 6f 72 65 20 61 6e 79 20  r $i before any 
19790 66 69 72 73 74 20 64 6f 74 20 28 65 78 74 65 6e  first dot (exten
197a0 73 69 6f 6e 29 0a 09 09 20 20 20 23 20 4e 65 76  sion)...   # Nev
197b0 65 72 20 6f 76 65 72 77 72 69 74 65 20 61 6e 79  er overwrite any
197c0 20 66 69 6c 65 0a 09 09 20 20 20 6e 61 6d 65 5f   file...   name_
197d0 74 6f 3d 22 24 6e 61 6d 65 22 0a 09 09 20 20 20  to="$name"...   
197e0 77 68 69 6c 65 20 74 65 73 74 20 22 58 24 6e 61  while test "X$na
197f0 6d 65 5f 74 6f 22 20 3d 20 22 58 24 6e 61 6d 65  me_to" = "X$name
19800 22 20 7c 7c 20 74 65 73 74 20 2d 66 20 22 24 78  " || test -f "$x
19810 64 69 72 2f 24 6e 61 6d 65 5f 74 6f 22 0a 09 09  dir/$name_to"...
19820 20 20 20 64 6f 0a 09 09 20 20 20 20 20 6e 61 6d     do...     nam
19830 65 5f 74 6f 3d 60 24 65 63 68 6f 20 22 58 24 6e  e_to=`$echo "X$n
19840 61 6d 65 5f 74 6f 22 20 7c 20 24 58 73 65 64 20  ame_to" | $Xsed 
19850 2d 65 20 22 73 2f 5c 28 5b 5e 2e 5d 2a 5c 29 2f  -e "s/\([^.]*\)/
19860 5c 31 2d 24 69 2f 22 60 0a 09 09 20 20 20 64 6f  \1-$i/"`...   do
19870 6e 65 0a 09 09 20 20 20 24 73 68 6f 77 20 22 28  ne...   $show "(
19880 63 64 20 24 78 64 69 72 20 26 26 20 24 41 52 20  cd $xdir && $AR 
19890 78 4e 20 24 69 20 24 78 61 62 73 20 27 24 6e 61  xN $i $xabs '$na
198a0 6d 65 27 20 26 26 20 24 6d 76 20 27 24 6e 61 6d  me' && $mv '$nam
198b0 65 27 20 27 24 6e 61 6d 65 5f 74 6f 27 29 22 0a  e' '$name_to')".
198c0 09 09 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22  ..   $run eval "
198d0 28 63 64 20 5c 24 78 64 69 72 20 26 26 20 24 41  (cd \$xdir && $A
198e0 52 20 78 4e 20 24 69 20 5c 24 78 61 62 73 20 27  R xN $i \$xabs '
198f0 24 6e 61 6d 65 27 20 26 26 20 24 6d 76 20 27 24  $name' && $mv '$
19900 6e 61 6d 65 27 20 27 24 6e 61 6d 65 5f 74 6f 27  name' '$name_to'
19910 29 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 09  )" || exit $?...
19920 20 20 20 69 3d 60 65 78 70 72 20 24 69 20 2b 20     i=`expr $i + 
19930 31 60 0a 09 09 20 20 64 6f 6e 65 0a 09 09 64 6f  1`...  done...do
19940 6e 65 0a 09 20 20 20 20 20 20 66 69 0a 0a 09 20  ne..      fi... 
19950 20 20 20 20 20 6c 69 62 6f 62 6a 73 3d 22 24 6c       libobjs="$l
19960 69 62 6f 62 6a 73 20 22 60 66 69 6e 64 20 24 78  ibobjs "`find $x
19970 64 69 72 20 2d 6e 61 6d 65 20 5c 2a 2e 24 6f 62  dir -name \*.$ob
19980 6a 65 78 74 20 2d 70 72 69 6e 74 20 2d 6f 20 2d  jext -print -o -
19990 6e 61 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e  name \*.lo -prin
199a0 74 20 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20 20  t | $NL2SP`..   
199b0 20 64 6f 6e 65 0a 09 20 20 66 69 0a 09 66 69 0a   done..  fi..fi.
199c0 0a 09 69 66 20 74 65 73 74 20 22 24 74 68 72 65  ..if test "$thre
199d0 61 64 5f 73 61 66 65 22 20 3d 20 79 65 73 20 26  ad_safe" = yes &
199e0 26 20 74 65 73 74 20 2d 6e 20 22 24 74 68 72 65  & test -n "$thre
199f0 61 64 5f 73 61 66 65 5f 66 6c 61 67 5f 73 70 65  ad_safe_flag_spe
19a00 63 22 3b 20 74 68 65 6e 0a 09 20 20 65 76 61 6c  c"; then..  eval
19a10 20 66 6c 61 67 3d 5c 22 24 74 68 72 65 61 64 5f   flag=\"$thread_
19a20 73 61 66 65 5f 66 6c 61 67 5f 73 70 65 63 5c 22  safe_flag_spec\"
19a30 0a 09 20 20 6c 69 6e 6b 65 72 5f 66 6c 61 67 73  ..  linker_flags
19a40 3d 22 24 6c 69 6e 6b 65 72 5f 66 6c 61 67 73 20  ="$linker_flags 
19a50 24 66 6c 61 67 22 0a 09 66 69 0a 0a 09 23 20 4d  $flag"..fi...# M
19a60 61 6b 65 20 61 20 62 61 63 6b 75 70 20 6f 66 20  ake a backup of 
19a70 74 68 65 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20  the uninstalled 
19a80 6c 69 62 72 61 72 79 20 77 68 65 6e 20 72 65 6c  library when rel
19a90 69 6e 6b 69 6e 67 0a 09 69 66 20 74 65 73 74 20  inking..if test 
19aa0 22 24 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b  "$mode" = relink
19ab0 3b 20 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65  ; then..  $run e
19ac0 76 61 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74  val '(cd $output
19ad0 5f 6f 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24  _objdir && $rm $
19ae0 7b 72 65 61 6c 6e 61 6d 65 7d 55 20 26 26 20 24  {realname}U && $
19af0 6d 76 20 24 72 65 61 6c 6e 61 6d 65 20 24 7b 72  mv $realname ${r
19b00 65 61 6c 6e 61 6d 65 7d 55 29 27 20 7c 7c 20 65  ealname}U)' || e
19b10 78 69 74 20 24 3f 0a 09 66 69 0a 0a 09 23 20 44  xit $?..fi...# D
19b20 6f 20 65 61 63 68 20 6f 66 20 74 68 65 20 61 72  o each of the ar
19b30 63 68 69 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a  chive commands..
19b40 09 69 66 20 74 65 73 74 20 22 24 6d 6f 64 75 6c  .if test "$modul
19b50 65 22 20 3d 20 79 65 73 20 26 26 20 74 65 73 74  e" = yes && test
19b60 20 2d 6e 20 22 24 6d 6f 64 75 6c 65 5f 63 6d 64   -n "$module_cmd
19b70 73 22 20 3b 20 74 68 65 6e 0a 09 20 20 69 66 20  s" ; then..  if 
19b80 74 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74  test -n "$export
19b90 5f 73 79 6d 62 6f 6c 73 22 20 26 26 20 74 65 73  _symbols" && tes
19ba0 74 20 2d 6e 20 22 24 6d 6f 64 75 6c 65 5f 65 78  t -n "$module_ex
19bb0 70 73 79 6d 5f 63 6d 64 73 22 3b 20 74 68 65 6e  psym_cmds"; then
19bc0 0a 09 20 20 20 20 65 76 61 6c 20 74 65 73 74 5f  ..    eval test_
19bd0 63 6d 64 73 3d 5c 22 24 6d 6f 64 75 6c 65 5f 65  cmds=\"$module_e
19be0 78 70 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 20 20  xpsym_cmds\"..  
19bf0 20 20 63 6d 64 73 3d 24 6d 6f 64 75 6c 65 5f 65    cmds=$module_e
19c00 78 70 73 79 6d 5f 63 6d 64 73 0a 09 20 20 65 6c  xpsym_cmds..  el
19c10 73 65 0a 09 20 20 20 20 65 76 61 6c 20 74 65 73  se..    eval tes
19c20 74 5f 63 6d 64 73 3d 5c 22 24 6d 6f 64 75 6c 65  t_cmds=\"$module
19c30 5f 63 6d 64 73 5c 22 0a 09 20 20 20 20 63 6d 64  _cmds\"..    cmd
19c40 73 3d 24 6d 6f 64 75 6c 65 5f 63 6d 64 73 0a 09  s=$module_cmds..
19c50 20 20 66 69 0a 09 65 6c 73 65 0a 09 69 66 20 74    fi..else..if t
19c60 65 73 74 20 2d 6e 20 22 24 65 78 70 6f 72 74 5f  est -n "$export_
19c70 73 79 6d 62 6f 6c 73 22 20 26 26 20 74 65 73 74  symbols" && test
19c80 20 2d 6e 20 22 24 61 72 63 68 69 76 65 5f 65 78   -n "$archive_ex
19c90 70 73 79 6d 5f 63 6d 64 73 22 3b 20 74 68 65 6e  psym_cmds"; then
19ca0 0a 09 20 20 65 76 61 6c 20 74 65 73 74 5f 63 6d  ..  eval test_cm
19cb0 64 73 3d 5c 22 24 61 72 63 68 69 76 65 5f 65 78  ds=\"$archive_ex
19cc0 70 73 79 6d 5f 63 6d 64 73 5c 22 0a 09 20 20 63  psym_cmds\"..  c
19cd0 6d 64 73 3d 24 61 72 63 68 69 76 65 5f 65 78 70  mds=$archive_exp
19ce0 73 79 6d 5f 63 6d 64 73 0a 09 65 6c 73 65 0a 09  sym_cmds..else..
19cf0 20 20 65 76 61 6c 20 74 65 73 74 5f 63 6d 64 73    eval test_cmds
19d00 3d 5c 22 24 61 72 63 68 69 76 65 5f 63 6d 64 73  =\"$archive_cmds
19d10 5c 22 0a 09 20 20 63 6d 64 73 3d 24 61 72 63 68  \"..  cmds=$arch
19d20 69 76 65 5f 63 6d 64 73 0a 09 20 20 66 69 0a 09  ive_cmds..  fi..
19d30 66 69 0a 0a 09 69 66 20 74 65 73 74 20 22 58 24  fi...if test "X$
19d40 73 6b 69 70 70 65 64 5f 65 78 70 6f 72 74 22 20  skipped_export" 
19d50 21 3d 20 22 58 3a 22 20 26 26 20 6c 65 6e 3d 60  != "X:" && len=`
19d60 65 78 70 72 20 22 58 24 74 65 73 74 5f 63 6d 64  expr "X$test_cmd
19d70 73 22 20 3a 20 22 2e 2a 22 60 20 26 26 0a 09 20  s" : ".*"` &&.. 
19d80 20 20 74 65 73 74 20 22 24 6c 65 6e 22 20 2d 6c    test "$len" -l
19d90 65 20 22 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22  e "$max_cmd_len"
19da0 20 7c 7c 20 74 65 73 74 20 22 24 6d 61 78 5f 63   || test "$max_c
19db0 6d 64 5f 6c 65 6e 22 20 2d 6c 65 20 2d 31 3b 20  md_len" -le -1; 
19dc0 74 68 65 6e 0a 09 20 20 3a 0a 09 65 6c 73 65 0a  then..  :..else.
19dd0 09 20 20 23 20 54 68 65 20 63 6f 6d 6d 61 6e 64  .  # The command
19de0 20 6c 69 6e 65 20 69 73 20 74 6f 6f 20 6c 6f 6e   line is too lon
19df0 67 20 74 6f 20 6c 69 6e 6b 20 69 6e 20 6f 6e 65  g to link in one
19e00 20 73 74 65 70 2c 20 6c 69 6e 6b 20 70 69 65 63   step, link piec
19e10 65 77 69 73 65 2e 0a 09 20 20 24 65 63 68 6f 20  ewise...  $echo 
19e20 22 63 72 65 61 74 69 6e 67 20 72 65 6c 6f 61 64  "creating reload
19e30 61 62 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c 65  able object file
19e40 73 2e 2e 2e 22 0a 0a 09 20 20 23 20 53 61 76 65  s..."...  # Save
19e50 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 24 6f   the value of $o
19e60 75 74 70 75 74 20 61 6e 64 20 24 6c 69 62 6f 62  utput and $libob
19e70 6a 73 20 62 65 63 61 75 73 65 20 77 65 20 77 61  js because we wa
19e80 6e 74 20 74 6f 0a 09 20 20 23 20 75 73 65 20 74  nt to..  # use t
19e90 68 65 6d 20 6c 61 74 65 72 2e 20 20 49 66 20 77  hem later.  If w
19ea0 65 20 68 61 76 65 20 77 68 6f 6c 65 5f 61 72 63  e have whole_arc
19eb0 68 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 2c 20  hive_flag_spec, 
19ec0 77 65 0a 09 20 20 23 20 77 61 6e 74 20 74 6f 20  we..  # want to 
19ed0 75 73 65 20 73 61 76 65 5f 6c 69 62 6f 62 6a 73  use save_libobjs
19ee0 20 61 73 20 69 74 20 77 61 73 20 62 65 66 6f 72   as it was befor
19ef0 65 0a 09 20 20 23 20 77 68 6f 6c 65 5f 61 72 63  e..  # whole_arc
19f00 68 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 20 77  hive_flag_spec w
19f10 61 73 20 65 78 70 61 6e 64 65 64 2c 20 62 65 63  as expanded, bec
19f20 61 75 73 65 20 77 65 20 63 61 6e 27 74 0a 09 20  ause we can't.. 
19f30 20 23 20 61 73 73 75 6d 65 20 74 68 65 20 6c 69   # assume the li
19f40 6e 6b 65 72 20 75 6e 64 65 72 73 74 61 6e 64 73  nker understands
19f50 20 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f 66   whole_archive_f
19f60 6c 61 67 5f 73 70 65 63 2e 0a 09 20 20 23 20 54  lag_spec...  # T
19f70 68 69 73 20 6d 61 79 20 68 61 76 65 20 74 6f 20  his may have to 
19f80 62 65 20 72 65 76 69 73 69 74 65 64 2c 20 69 6e  be revisited, in
19f90 20 63 61 73 65 20 74 6f 6f 20 6d 61 6e 79 0a 09   case too many..
19fa0 20 20 23 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20    # convenience 
19fb0 6c 69 62 72 61 72 69 65 73 20 67 65 74 20 6c 69  libraries get li
19fc0 6e 6b 65 64 20 69 6e 20 61 6e 64 20 65 6e 64 20  nked in and end 
19fd0 75 70 20 65 78 63 65 65 64 69 6e 67 0a 09 20 20  up exceeding..  
19fe0 23 20 74 68 65 20 73 70 65 63 2e 0a 09 20 20 69  # the spec...  i
19ff0 66 20 74 65 73 74 20 2d 7a 20 22 24 63 6f 6e 76  f test -z "$conv
1a000 65 6e 69 65 6e 63 65 22 20 7c 7c 20 74 65 73 74  enience" || test
1a010 20 2d 7a 20 22 24 77 68 6f 6c 65 5f 61 72 63 68   -z "$whole_arch
1a020 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20  ive_flag_spec"; 
1a030 74 68 65 6e 0a 09 20 20 20 20 73 61 76 65 5f 6c  then..    save_l
1a040 69 62 6f 62 6a 73 3d 24 6c 69 62 6f 62 6a 73 0a  ibobjs=$libobjs.
1a050 09 20 20 66 69 0a 09 20 20 73 61 76 65 5f 6f 75  .  fi..  save_ou
1a060 74 70 75 74 3d 24 6f 75 74 70 75 74 0a 0a 09 20  tput=$output... 
1a070 20 23 20 43 6c 65 61 72 20 74 68 65 20 72 65 6c   # Clear the rel
1a080 6f 61 64 61 62 6c 65 20 6f 62 6a 65 63 74 20 63  oadable object c
1a090 72 65 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20  reation command 
1a0a0 71 75 65 75 65 20 61 6e 64 0a 09 20 20 23 20 69  queue and..  # i
1a0b0 6e 69 74 69 61 6c 69 7a 65 20 6b 20 74 6f 20 6f  nitialize k to o
1a0c0 6e 65 2e 0a 09 20 20 74 65 73 74 5f 63 6d 64 73  ne...  test_cmds
1a0d0 3d 0a 09 20 20 63 6f 6e 63 61 74 5f 63 6d 64 73  =..  concat_cmds
1a0e0 3d 0a 09 20 20 6f 62 6a 6c 69 73 74 3d 0a 09 20  =..  objlist=.. 
1a0f0 20 64 65 6c 66 69 6c 65 73 3d 0a 09 20 20 6c 61   delfiles=..  la
1a100 73 74 5f 72 6f 62 6a 3d 0a 09 20 20 6b 3d 31 0a  st_robj=..  k=1.
1a110 09 20 20 6f 75 74 70 75 74 3d 24 6f 75 74 70 75  .  output=$outpu
1a120 74 5f 6f 62 6a 64 69 72 2f 24 73 61 76 65 5f 6f  t_objdir/$save_o
1a130 75 74 70 75 74 2d 24 7b 6b 7d 2e 24 6f 62 6a 65  utput-${k}.$obje
1a140 78 74 0a 09 20 20 23 20 4c 6f 6f 70 20 6f 76 65  xt..  # Loop ove
1a150 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 6f 62  r the list of ob
1a160 6a 65 63 74 73 20 74 6f 20 62 65 20 6c 69 6e 6b  jects to be link
1a170 65 64 2e 0a 09 20 20 66 6f 72 20 6f 62 6a 20 69  ed...  for obj i
1a180 6e 20 24 73 61 76 65 5f 6c 69 62 6f 62 6a 73 0a  n $save_libobjs.
1a190 09 20 20 64 6f 0a 09 20 20 20 20 65 76 61 6c 20  .  do..    eval 
1a1a0 74 65 73 74 5f 63 6d 64 73 3d 5c 22 24 72 65 6c  test_cmds=\"$rel
1a1b0 6f 61 64 5f 63 6d 64 73 20 24 6f 62 6a 6c 69 73  oad_cmds $objlis
1a1c0 74 20 24 6c 61 73 74 5f 72 6f 62 6a 5c 22 0a 09  t $last_robj\"..
1a1d0 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24 6f      if test "X$o
1a1e0 62 6a 6c 69 73 74 22 20 3d 20 58 20 7c 7c 0a 09  bjlist" = X ||..
1a1f0 20 20 20 20 20 20 20 7b 20 6c 65 6e 3d 60 65 78         { len=`ex
1a200 70 72 20 22 58 24 74 65 73 74 5f 63 6d 64 73 22  pr "X$test_cmds"
1a210 20 3a 20 22 2e 2a 22 60 20 26 26 0a 09 09 20 74   : ".*"` &&... t
1a220 65 73 74 20 22 24 6c 65 6e 22 20 2d 6c 65 20 22  est "$len" -le "
1a230 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22 3b 20 7d  $max_cmd_len"; }
1a240 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 6f 62  ; then..      ob
1a250 6a 6c 69 73 74 3d 22 24 6f 62 6a 6c 69 73 74 20  jlist="$objlist 
1a260 24 6f 62 6a 22 0a 09 20 20 20 20 65 6c 73 65 0a  $obj"..    else.
1a270 09 20 20 20 20 20 20 23 20 54 68 65 20 63 6f 6d  .      # The com
1a280 6d 61 6e 64 20 24 74 65 73 74 5f 63 6d 64 73 20  mand $test_cmds 
1a290 69 73 20 61 6c 6d 6f 73 74 20 74 6f 6f 20 6c 6f  is almost too lo
1a2a0 6e 67 2c 20 61 64 64 20 61 0a 09 20 20 20 20 20  ng, add a..     
1a2b0 20 23 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68   # command to th
1a2c0 65 20 71 75 65 75 65 2e 0a 09 20 20 20 20 20 20  e queue...      
1a2d0 69 66 20 74 65 73 74 20 22 24 6b 22 20 2d 65 71  if test "$k" -eq
1a2e0 20 31 20 3b 20 74 68 65 6e 0a 09 09 23 20 54 68   1 ; then...# Th
1a2f0 65 20 66 69 72 73 74 20 66 69 6c 65 20 64 6f 65  e first file doe
1a300 73 6e 27 74 20 68 61 76 65 20 61 20 70 72 65 76  sn't have a prev
1a310 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  ious command to 
1a320 61 64 64 2e 0a 09 09 65 76 61 6c 20 63 6f 6e 63  add....eval conc
1a330 61 74 5f 63 6d 64 73 3d 5c 22 24 72 65 6c 6f 61  at_cmds=\"$reloa
1a340 64 5f 63 6d 64 73 20 24 6f 62 6a 6c 69 73 74 20  d_cmds $objlist 
1a350 24 6c 61 73 74 5f 72 6f 62 6a 5c 22 0a 09 20 20  $last_robj\"..  
1a360 20 20 20 20 65 6c 73 65 0a 09 09 23 20 41 6c 6c      else...# All
1a370 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 6c 6f   subsequent relo
1a380 61 64 61 62 6c 65 20 6f 62 6a 65 63 74 20 66 69  adable object fi
1a390 6c 65 73 20 77 69 6c 6c 20 6c 69 6e 6b 20 69 6e  les will link in
1a3a0 0a 09 09 23 20 74 68 65 20 6c 61 73 74 20 6f 6e  ...# the last on
1a3b0 65 20 63 72 65 61 74 65 64 2e 0a 09 09 65 76 61  e created....eva
1a3c0 6c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d 5c 22  l concat_cmds=\"
1a3d0 5c 24 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 24 72  \$concat_cmds~$r
1a3e0 65 6c 6f 61 64 5f 63 6d 64 73 20 24 6f 62 6a 6c  eload_cmds $objl
1a3f0 69 73 74 20 24 6c 61 73 74 5f 72 6f 62 6a 5c 22  ist $last_robj\"
1a400 0a 09 20 20 20 20 20 20 66 69 0a 09 20 20 20 20  ..      fi..    
1a410 20 20 6c 61 73 74 5f 72 6f 62 6a 3d 24 6f 75 74    last_robj=$out
1a420 70 75 74 5f 6f 62 6a 64 69 72 2f 24 73 61 76 65  put_objdir/$save
1a430 5f 6f 75 74 70 75 74 2d 24 7b 6b 7d 2e 24 6f 62  _output-${k}.$ob
1a440 6a 65 78 74 0a 09 20 20 20 20 20 20 6b 3d 60 65  jext..      k=`e
1a450 78 70 72 20 24 6b 20 2b 20 31 60 0a 09 20 20 20  xpr $k + 1`..   
1a460 20 20 20 6f 75 74 70 75 74 3d 24 6f 75 74 70 75     output=$outpu
1a470 74 5f 6f 62 6a 64 69 72 2f 24 73 61 76 65 5f 6f  t_objdir/$save_o
1a480 75 74 70 75 74 2d 24 7b 6b 7d 2e 24 6f 62 6a 65  utput-${k}.$obje
1a490 78 74 0a 09 20 20 20 20 20 20 6f 62 6a 6c 69 73  xt..      objlis
1a4a0 74 3d 24 6f 62 6a 0a 09 20 20 20 20 20 20 6c 65  t=$obj..      le
1a4b0 6e 3d 31 0a 09 20 20 20 20 66 69 0a 09 20 20 64  n=1..    fi..  d
1a4c0 6f 6e 65 0a 09 20 20 23 20 48 61 6e 64 6c 65 20  one..  # Handle 
1a4d0 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 6f 62  the remaining ob
1a4e0 6a 65 63 74 73 20 62 79 20 63 72 65 61 74 69 6e  jects by creatin
1a4f0 67 20 6f 6e 65 20 6c 61 73 74 0a 09 20 20 23 20  g one last..  # 
1a500 72 65 6c 6f 61 64 61 62 6c 65 20 6f 62 6a 65 63  reloadable objec
1a510 74 20 66 69 6c 65 2e 20 20 41 6c 6c 20 73 75 62  t file.  All sub
1a520 73 65 71 75 65 6e 74 20 72 65 6c 6f 61 64 61 62  sequent reloadab
1a530 6c 65 20 6f 62 6a 65 63 74 0a 09 20 20 23 20 66  le object..  # f
1a540 69 6c 65 73 20 77 69 6c 6c 20 6c 69 6e 6b 20 69  iles will link i
1a550 6e 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 20 63  n the last one c
1a560 72 65 61 74 65 64 2e 0a 09 20 20 74 65 73 74 20  reated...  test 
1a570 2d 7a 20 22 24 63 6f 6e 63 61 74 5f 63 6d 64 73  -z "$concat_cmds
1a580 22 20 7c 7c 20 63 6f 6e 63 61 74 5f 63 6d 64 73  " || concat_cmds
1a590 3d 24 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 0a 09  =$concat_cmds~..
1a5a0 20 20 65 76 61 6c 20 63 6f 6e 63 61 74 5f 63 6d    eval concat_cm
1a5b0 64 73 3d 5c 22 5c 24 7b 63 6f 6e 63 61 74 5f 63  ds=\"\${concat_c
1a5c0 6d 64 73 7d 24 72 65 6c 6f 61 64 5f 63 6d 64 73  mds}$reload_cmds
1a5d0 20 24 6f 62 6a 6c 69 73 74 20 24 6c 61 73 74 5f   $objlist $last_
1a5e0 72 6f 62 6a 5c 22 0a 0a 09 20 20 69 66 20 24 7b  robj\"...  if ${
1a5f0 73 6b 69 70 70 65 64 5f 65 78 70 6f 72 74 2d 66  skipped_export-f
1a600 61 6c 73 65 7d 3b 20 74 68 65 6e 0a 09 20 20 20  alse}; then..   
1a610 20 24 73 68 6f 77 20 22 67 65 6e 65 72 61 74 69   $show "generati
1a620 6e 67 20 73 79 6d 62 6f 6c 20 6c 69 73 74 20 66  ng symbol list f
1a630 6f 72 20 5c 60 24 6c 69 62 6e 61 6d 65 2e 6c 61  or \`$libname.la
1a640 27 22 0a 09 20 20 20 20 65 78 70 6f 72 74 5f 73  '"..    export_s
1a650 79 6d 62 6f 6c 73 3d 22 24 6f 75 74 70 75 74 5f  ymbols="$output_
1a660 6f 62 6a 64 69 72 2f 24 6c 69 62 6e 61 6d 65 2e  objdir/$libname.
1a670 65 78 70 22 0a 09 20 20 20 20 24 72 75 6e 20 24  exp"..    $run $
1a680 72 6d 20 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f  rm $export_symbo
1a690 6c 73 0a 09 20 20 20 20 6c 69 62 6f 62 6a 73 3d  ls..    libobjs=
1a6a0 24 6f 75 74 70 75 74 0a 09 20 20 20 20 23 20 41  $output..    # A
1a6b0 70 70 65 6e 64 20 74 68 65 20 63 6f 6d 6d 61 6e  ppend the comman
1a6c0 64 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20  d to create the 
1a6d0 65 78 70 6f 72 74 20 66 69 6c 65 2e 0a 09 20 20  export file...  
1a6e0 20 20 65 76 61 6c 20 63 6f 6e 63 61 74 5f 63 6d    eval concat_cm
1a6f0 64 73 3d 5c 22 5c 24 63 6f 6e 63 61 74 5f 63 6d  ds=\"\$concat_cm
1a700 64 73 7e 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f  ds~$export_symbo
1a710 6c 73 5f 63 6d 64 73 5c 22 0a 20 20 20 20 20 20  ls_cmds\".      
1a720 20 20 20 20 66 69 0a 0a 09 20 20 23 20 53 65 74      fi...  # Set
1a730 20 75 70 20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f   up a command to
1a740 20 72 65 6d 6f 76 65 20 74 68 65 20 72 65 6c 6f   remove the relo
1a750 61 64 61 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c  adale object fil
1a760 65 73 0a 09 20 20 23 20 61 66 74 65 72 20 74 68  es..  # after th
1a770 65 79 20 61 72 65 20 75 73 65 64 2e 0a 09 20 20  ey are used...  
1a780 69 3d 30 0a 09 20 20 77 68 69 6c 65 20 74 65 73  i=0..  while tes
1a790 74 20 22 24 69 22 20 2d 6c 74 20 22 24 6b 22 0a  t "$i" -lt "$k".
1a7a0 09 20 20 64 6f 0a 09 20 20 20 20 69 3d 60 65 78  .  do..    i=`ex
1a7b0 70 72 20 24 69 20 2b 20 31 60 0a 09 20 20 20 20  pr $i + 1`..    
1a7c0 64 65 6c 66 69 6c 65 73 3d 22 24 64 65 6c 66 69  delfiles="$delfi
1a7d0 6c 65 73 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  les $output_objd
1a7e0 69 72 2f 24 73 61 76 65 5f 6f 75 74 70 75 74 2d  ir/$save_output-
1a7f0 24 7b 69 7d 2e 24 6f 62 6a 65 78 74 22 0a 09 20  ${i}.$objext".. 
1a800 20 64 6f 6e 65 0a 0a 09 20 20 24 65 63 68 6f 20   done...  $echo 
1a810 22 63 72 65 61 74 69 6e 67 20 61 20 74 65 6d 70  "creating a temp
1a820 6f 72 61 72 79 20 72 65 6c 6f 61 64 61 62 6c 65  orary reloadable
1a830 20 6f 62 6a 65 63 74 20 66 69 6c 65 3a 20 24 6f   object file: $o
1a840 75 74 70 75 74 22 0a 0a 09 20 20 23 20 4c 6f 6f  utput"...  # Loo
1a850 70 20 74 68 72 6f 75 67 68 20 74 68 65 20 63 6f  p through the co
1a860 6d 6d 61 6e 64 73 20 67 65 6e 65 72 61 74 65 64  mmands generated
1a870 20 61 62 6f 76 65 20 61 6e 64 20 65 78 65 63 75   above and execu
1a880 74 65 20 74 68 65 6d 2e 0a 09 20 20 73 61 76 65  te them...  save
1a890 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53  _ifs="$IFS"; IFS
1a8a0 3d 27 7e 27 0a 09 20 20 66 6f 72 20 63 6d 64 20  ='~'..  for cmd 
1a8b0 69 6e 20 24 63 6f 6e 63 61 74 5f 63 6d 64 73 3b  in $concat_cmds;
1a8c0 20 64 6f 0a 09 20 20 20 20 49 46 53 3d 22 24 73   do..    IFS="$s
1a8d0 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 65 76  ave_ifs"..    ev
1a8e0 61 6c 20 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a  al cmd=\"$cmd\".
1a8f0 09 20 20 20 20 24 73 68 6f 77 20 22 24 63 6d 64  .    $show "$cmd
1a900 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c  "..    $run eval
1a910 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20   "$cmd" || exit 
1a920 24 3f 0a 09 20 20 64 6f 6e 65 0a 09 20 20 49 46  $?..  done..  IF
1a930 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 0a 09  S="$save_ifs"...
1a940 20 20 6c 69 62 6f 62 6a 73 3d 24 6f 75 74 70 75    libobjs=$outpu
1a950 74 0a 09 20 20 23 20 52 65 73 74 6f 72 65 20 74  t..  # Restore t
1a960 68 65 20 76 61 6c 75 65 20 6f 66 20 6f 75 74 70  he value of outp
1a970 75 74 2e 0a 09 20 20 6f 75 74 70 75 74 3d 24 73  ut...  output=$s
1a980 61 76 65 5f 6f 75 74 70 75 74 0a 0a 09 20 20 69  ave_output...  i
1a990 66 20 74 65 73 74 20 2d 6e 20 22 24 63 6f 6e 76  f test -n "$conv
1a9a0 65 6e 69 65 6e 63 65 22 20 26 26 20 74 65 73 74  enience" && test
1a9b0 20 2d 6e 20 22 24 77 68 6f 6c 65 5f 61 72 63 68   -n "$whole_arch
1a9c0 69 76 65 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20  ive_flag_spec"; 
1a9d0 74 68 65 6e 0a 09 20 20 20 20 65 76 61 6c 20 6c  then..    eval l
1a9e0 69 62 6f 62 6a 73 3d 5c 22 5c 24 6c 69 62 6f 62  ibobjs=\"\$libob
1a9f0 6a 73 20 24 77 68 6f 6c 65 5f 61 72 63 68 69 76  js $whole_archiv
1aa00 65 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 09 20  e_flag_spec\".. 
1aa10 20 66 69 0a 09 20 20 23 20 45 78 70 61 6e 64 20   fi..  # Expand 
1aa20 74 68 65 20 6c 69 62 72 61 72 79 20 6c 69 6e 6b  the library link
1aa30 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 61 67 61  ing commands aga
1aa40 69 6e 20 74 6f 20 72 65 73 65 74 20 74 68 65 0a  in to reset the.
1aa50 09 20 20 23 20 76 61 6c 75 65 20 6f 66 20 24 6c  .  # value of $l
1aa60 69 62 6f 62 6a 73 20 66 6f 72 20 70 69 65 63 65  ibobjs for piece
1aa70 77 69 73 65 20 6c 69 6e 6b 69 6e 67 2e 0a 0a 09  wise linking....
1aa80 20 20 23 20 44 6f 20 65 61 63 68 20 6f 66 20 74    # Do each of t
1aa90 68 65 20 61 72 63 68 69 76 65 20 63 6f 6d 6d 61  he archive comma
1aaa0 6e 64 73 2e 0a 09 20 20 69 66 20 74 65 73 74 20  nds...  if test 
1aab0 22 24 6d 6f 64 75 6c 65 22 20 3d 20 79 65 73 20  "$module" = yes 
1aac0 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6d 6f 64  && test -n "$mod
1aad0 75 6c 65 5f 63 6d 64 73 22 20 3b 20 74 68 65 6e  ule_cmds" ; then
1aae0 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
1aaf0 20 22 24 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c   "$export_symbol
1ab00 73 22 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24  s" && test -n "$
1ab10 6d 6f 64 75 6c 65 5f 65 78 70 73 79 6d 5f 63 6d  module_expsym_cm
1ab20 64 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  ds"; then..     
1ab30 20 63 6d 64 73 3d 24 6d 6f 64 75 6c 65 5f 65 78   cmds=$module_ex
1ab40 70 73 79 6d 5f 63 6d 64 73 0a 09 20 20 20 20 65  psym_cmds..    e
1ab50 6c 73 65 0a 09 20 20 20 20 20 20 63 6d 64 73 3d  lse..      cmds=
1ab60 24 6d 6f 64 75 6c 65 5f 63 6d 64 73 0a 09 20 20  $module_cmds..  
1ab70 20 20 66 69 0a 09 20 20 65 6c 73 65 0a 09 20 20    fi..  else..  
1ab80 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65 78 70  if test -n "$exp
1ab90 6f 72 74 5f 73 79 6d 62 6f 6c 73 22 20 26 26 20  ort_symbols" && 
1aba0 74 65 73 74 20 2d 6e 20 22 24 61 72 63 68 69 76  test -n "$archiv
1abb0 65 5f 65 78 70 73 79 6d 5f 63 6d 64 73 22 3b 20  e_expsym_cmds"; 
1abc0 74 68 65 6e 0a 09 20 20 20 20 63 6d 64 73 3d 24  then..    cmds=$
1abd0 61 72 63 68 69 76 65 5f 65 78 70 73 79 6d 5f 63  archive_expsym_c
1abe0 6d 64 73 0a 09 20 20 65 6c 73 65 0a 09 20 20 20  mds..  else..   
1abf0 20 63 6d 64 73 3d 24 61 72 63 68 69 76 65 5f 63   cmds=$archive_c
1ac00 6d 64 73 0a 09 20 20 20 20 66 69 0a 09 20 20 66  mds..    fi..  f
1ac10 69 0a 0a 09 20 20 23 20 41 70 70 65 6e 64 20 74  i...  # Append t
1ac20 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65  he command to re
1ac30 6d 6f 76 65 20 74 68 65 20 72 65 6c 6f 61 64 61  move the reloada
1ac40 62 6c 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  ble object files
1ac50 0a 09 20 20 23 20 74 6f 20 74 68 65 20 6a 75 73  ..  # to the jus
1ac60 74 2d 72 65 73 65 74 20 24 63 6d 64 73 2e 0a 09  t-reset $cmds...
1ac70 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 5c 24    eval cmds=\"\$
1ac80 63 6d 64 73 7e 5c 24 72 6d 20 24 64 65 6c 66 69  cmds~\$rm $delfi
1ac90 6c 65 73 5c 22 0a 09 66 69 0a 09 73 61 76 65 5f  les\"..fi..save_
1aca0 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d  ifs="$IFS"; IFS=
1acb0 27 7e 27 0a 09 66 6f 72 20 63 6d 64 20 69 6e 20  '~'..for cmd in 
1acc0 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 49 46 53  $cmds; do..  IFS
1acd0 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 20 20  ="$save_ifs"..  
1ace0 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d 64 5c  eval cmd=\"$cmd\
1acf0 22 0a 09 20 20 24 73 68 6f 77 20 22 24 63 6d 64  "..  $show "$cmd
1ad00 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22  "..  $run eval "
1ad10 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f  $cmd" || exit $?
1ad20 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22 24 73 61  ..done..IFS="$sa
1ad30 76 65 5f 69 66 73 22 0a 0a 09 23 20 52 65 73 74  ve_ifs"...# Rest
1ad40 6f 72 65 20 74 68 65 20 75 6e 69 6e 73 74 61 6c  ore the uninstal
1ad50 6c 65 64 20 6c 69 62 72 61 72 79 20 61 6e 64 20  led library and 
1ad60 65 78 69 74 0a 09 69 66 20 74 65 73 74 20 22 24  exit..if test "$
1ad70 6d 6f 64 65 22 20 3d 20 72 65 6c 69 6e 6b 3b 20  mode" = relink; 
1ad80 74 68 65 6e 0a 09 20 20 24 72 75 6e 20 65 76 61  then..  $run eva
1ad90 6c 20 27 28 63 64 20 24 6f 75 74 70 75 74 5f 6f  l '(cd $output_o
1ada0 62 6a 64 69 72 20 26 26 20 24 72 6d 20 24 7b 72  bjdir && $rm ${r
1adb0 65 61 6c 6e 61 6d 65 7d 54 20 26 26 20 24 6d 76  ealname}T && $mv
1adc0 20 24 72 65 61 6c 6e 61 6d 65 20 24 7b 72 65 61   $realname ${rea
1add0 6c 6e 61 6d 65 7d 54 20 26 26 20 24 6d 76 20 22  lname}T && $mv "
1ade0 24 72 65 61 6c 6e 61 6d 65 22 55 20 24 72 65 61  $realname"U $rea
1adf0 6c 6e 61 6d 65 29 27 20 7c 7c 20 65 78 69 74 20  lname)' || exit 
1ae00 24 3f 0a 09 20 20 65 78 69 74 20 30 0a 09 66 69  $?..  exit 0..fi
1ae10 0a 0a 09 23 20 43 72 65 61 74 65 20 6c 69 6e 6b  ...# Create link
1ae20 73 20 74 6f 20 74 68 65 20 72 65 61 6c 20 6c 69  s to the real li
1ae30 62 72 61 72 79 2e 0a 09 66 6f 72 20 6c 69 6e 6b  brary...for link
1ae40 6e 61 6d 65 20 69 6e 20 24 6c 69 6e 6b 6e 61 6d  name in $linknam
1ae50 65 73 3b 20 64 6f 0a 09 20 20 69 66 20 74 65 73  es; do..  if tes
1ae60 74 20 22 24 72 65 61 6c 6e 61 6d 65 22 20 21 3d  t "$realname" !=
1ae70 20 22 24 6c 69 6e 6b 6e 61 6d 65 22 3b 20 74 68   "$linkname"; th
1ae80 65 6e 0a 09 20 20 20 20 24 73 68 6f 77 20 22 28  en..    $show "(
1ae90 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  cd $output_objdi
1aea0 72 20 26 26 20 24 72 6d 20 24 6c 69 6e 6b 6e 61  r && $rm $linkna
1aeb0 6d 65 20 26 26 20 24 4c 4e 5f 53 20 24 72 65 61  me && $LN_S $rea
1aec0 6c 6e 61 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 29  lname $linkname)
1aed0 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c  "..    $run eval
1aee0 20 27 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62   '(cd $output_ob
1aef0 6a 64 69 72 20 26 26 20 24 72 6d 20 24 6c 69 6e  jdir && $rm $lin
1af00 6b 6e 61 6d 65 20 26 26 20 24 4c 4e 5f 53 20 24  kname && $LN_S $
1af10 72 65 61 6c 6e 61 6d 65 20 24 6c 69 6e 6b 6e 61  realname $linkna
1af20 6d 65 29 27 20 7c 7c 20 65 78 69 74 20 24 3f 0a  me)' || exit $?.
1af30 09 20 20 66 69 0a 09 64 6f 6e 65 0a 0a 09 23 20  .  fi..done...# 
1af40 49 66 20 2d 6d 6f 64 75 6c 65 20 6f 72 20 2d 65  If -module or -e
1af50 78 70 6f 72 74 2d 64 79 6e 61 6d 69 63 20 77 61  xport-dynamic wa
1af60 73 20 73 70 65 63 69 66 69 65 64 2c 20 73 65 74  s specified, set
1af70 20 74 68 65 20 64 6c 6e 61 6d 65 2e 0a 09 69 66   the dlname...if
1af80 20 74 65 73 74 20 22 24 6d 6f 64 75 6c 65 22 20   test "$module" 
1af90 3d 20 79 65 73 20 7c 7c 20 74 65 73 74 20 22 24  = yes || test "$
1afa0 65 78 70 6f 72 74 5f 64 79 6e 61 6d 69 63 22 20  export_dynamic" 
1afb0 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23  = yes; then..  #
1afc0 20 4f 6e 20 61 6c 6c 20 6b 6e 6f 77 6e 20 6f 70   On all known op
1afd0 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 2c  erating systems,
1afe0 20 74 68 65 73 65 20 61 72 65 20 69 64 65 6e 74   these are ident
1aff0 69 63 61 6c 2e 0a 09 20 20 64 6c 6e 61 6d 65 3d  ical...  dlname=
1b000 22 24 73 6f 6e 61 6d 65 22 0a 09 66 69 0a 20 20  "$soname"..fi.  
1b010 20 20 20 20 66 69 0a 20 20 20 20 20 20 3b 3b 0a      fi.      ;;.
1b020 0a 20 20 20 20 6f 62 6a 29 0a 20 20 20 20 20 20  .    obj).      
1b030 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64 65 70  if test -n "$dep
1b040 6c 69 62 73 22 3b 20 74 68 65 6e 0a 09 24 65 63  libs"; then..$ec
1b050 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77  ho "$modename: w
1b060 61 72 6e 69 6e 67 3a 20 5c 60 2d 6c 27 20 61 6e  arning: \`-l' an
1b070 64 20 5c 60 2d 4c 27 20 61 72 65 20 69 67 6e 6f  d \`-L' are igno
1b080 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74 73 22  red for objects"
1b090 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a   1>&2.      fi..
1b0a0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
1b0b0 20 22 24 64 6c 66 69 6c 65 73 24 64 6c 70 72 65   "$dlfiles$dlpre
1b0c0 66 69 6c 65 73 22 20 7c 7c 20 74 65 73 74 20 22  files" || test "
1b0d0 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e 6f 3b 20  $dlself" != no; 
1b0e0 74 68 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f  then..$echo "$mo
1b0f0 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
1b100 20 5c 60 2d 64 6c 6f 70 65 6e 27 20 69 73 20 69   \`-dlopen' is i
1b110 67 6e 6f 72 65 64 20 66 6f 72 20 6f 62 6a 65 63  gnored for objec
1b120 74 73 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  ts" 1>&2.      f
1b130 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  i..      if test
1b140 20 2d 6e 20 22 24 72 70 61 74 68 22 3b 20 74 68   -n "$rpath"; th
1b150 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
1b160 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c  name: warning: \
1b170 60 2d 72 70 61 74 68 27 20 69 73 20 69 67 6e 6f  `-rpath' is igno
1b180 72 65 64 20 66 6f 72 20 6f 62 6a 65 63 74 73 22  red for objects"
1b190 20 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a   1>&2.      fi..
1b1a0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
1b1b0 20 22 24 78 72 70 61 74 68 22 3b 20 74 68 65 6e   "$xrpath"; then
1b1c0 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
1b1d0 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d  me: warning: \`-
1b1e0 52 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  R' is ignored fo
1b1f0 72 20 6f 62 6a 65 63 74 73 22 20 31 3e 26 32 0a  r objects" 1>&2.
1b200 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1b210 69 66 20 74 65 73 74 20 2d 6e 20 22 24 76 69 6e  if test -n "$vin
1b220 66 6f 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f  fo"; then..$echo
1b230 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72   "$modename: war
1b240 6e 69 6e 67 3a 20 5c 60 2d 76 65 72 73 69 6f 6e  ning: \`-version
1b250 2d 69 6e 66 6f 27 20 69 73 20 69 67 6e 6f 72 65  -info' is ignore
1b260 64 20 66 6f 72 20 6f 62 6a 65 63 74 73 22 20 31  d for objects" 1
1b270 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  >&2.      fi..  
1b280 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1b290 24 72 65 6c 65 61 73 65 22 3b 20 74 68 65 6e 0a  $release"; then.
1b2a0 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
1b2b0 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 2d 72  e: warning: \`-r
1b2c0 65 6c 65 61 73 65 27 20 69 73 20 69 67 6e 6f 72  elease' is ignor
1b2d0 65 64 20 66 6f 72 20 6f 62 6a 65 63 74 73 22 20  ed for objects" 
1b2e0 31 3e 26 32 0a 20 20 20 20 20 20 66 69 0a 0a 20  1>&2.      fi.. 
1b2f0 20 20 20 20 20 63 61 73 65 20 24 6f 75 74 70 75       case $outpu
1b300 74 20 69 6e 0a 20 20 20 20 20 20 2a 2e 6c 6f 29  t in.      *.lo)
1b310 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6f  ..if test -n "$o
1b320 62 6a 73 24 6f 6c 64 5f 64 65 70 6c 69 62 73 22  bjs$old_deplibs"
1b330 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20  ; then..  $echo 
1b340 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63 61 6e 6e  "$modename: cann
1b350 6f 74 20 62 75 69 6c 64 20 6c 69 62 72 61 72 79  ot build library
1b360 20 6f 62 6a 65 63 74 20 5c 60 24 6f 75 74 70 75   object \`$outpu
1b370 74 27 20 66 72 6f 6d 20 6e 6f 6e 2d 6c 69 62 74  t' from non-libt
1b380 6f 6f 6c 20 6f 62 6a 65 63 74 73 22 20 31 3e 26  ool objects" 1>&
1b390 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69 0a  2..  exit 1..fi.
1b3a0 09 6c 69 62 6f 62 6a 3d 22 24 6f 75 74 70 75 74  .libobj="$output
1b3b0 22 0a 09 6f 62 6a 3d 60 24 65 63 68 6f 20 22 58  "..obj=`$echo "X
1b3c0 24 6f 75 74 70 75 74 22 20 7c 20 24 58 73 65 64  $output" | $Xsed
1b3d0 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a 09 3b 3b   -e "$lo2o"`..;;
1b3e0 0a 20 20 20 20 20 20 2a 29 0a 09 6c 69 62 6f 62  .      *)..libob
1b3f0 6a 3d 0a 09 6f 62 6a 3d 22 24 6f 75 74 70 75 74  j=..obj="$output
1b400 22 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73 61 63  "..;;.      esac
1b410 0a 0a 20 20 20 20 20 20 23 20 44 65 6c 65 74 65  ..      # Delete
1b420 20 74 68 65 20 6f 6c 64 20 6f 62 6a 65 63 74 73   the old objects
1b430 2e 0a 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d  ..      $run $rm
1b440 20 24 6f 62 6a 20 24 6c 69 62 6f 62 6a 0a 0a 20   $obj $libobj.. 
1b450 20 20 20 20 20 23 20 4f 62 6a 65 63 74 73 20 66       # Objects f
1b460 72 6f 6d 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20  rom convenience 
1b470 6c 69 62 72 61 72 69 65 73 2e 20 20 54 68 69 73  libraries.  This
1b480 20 61 73 73 75 6d 65 73 0a 20 20 20 20 20 20 23   assumes.      #
1b490 20 73 69 6e 67 6c 65 2d 76 65 72 73 69 6f 6e 20   single-version 
1b4a0 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6c 69 62 72  convenience libr
1b4b0 61 72 69 65 73 2e 20 20 57 68 65 6e 65 76 65 72  aries.  Whenever
1b4c0 20 77 65 20 63 72 65 61 74 65 0a 20 20 20 20 20   we create.     
1b4d0 20 23 20 64 69 66 66 65 72 65 6e 74 20 6f 6e 65   # different one
1b4e0 73 20 66 6f 72 20 50 49 43 2f 6e 6f 6e 2d 50 49  s for PIC/non-PI
1b4f0 43 2c 20 74 68 69 73 20 77 65 27 6c 6c 20 68 61  C, this we'll ha
1b500 76 65 20 74 6f 20 64 75 70 6c 69 63 61 74 65 0a  ve to duplicate.
1b510 20 20 20 20 20 20 23 20 74 68 65 20 65 78 74 72        # the extr
1b520 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 72 65  action..      re
1b530 6c 6f 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 3d 0a  load_conv_objs=.
1b540 20 20 20 20 20 20 67 65 6e 74 6f 70 3d 0a 20 20        gentop=.  
1b550 20 20 20 20 23 20 72 65 6c 6f 61 64 5f 63 6d 64      # reload_cmd
1b560 73 20 72 75 6e 73 20 24 4c 44 20 64 69 72 65 63  s runs $LD direc
1b570 74 6c 79 2c 20 73 6f 20 6c 65 74 20 75 73 20 67  tly, so let us g
1b580 65 74 20 72 69 64 20 6f 66 0a 20 20 20 20 20 20  et rid of.      
1b590 23 20 2d 57 6c 20 66 72 6f 6d 20 77 68 6f 6c 65  # -Wl from whole
1b5a0 5f 61 72 63 68 69 76 65 5f 66 6c 61 67 5f 73 70  _archive_flag_sp
1b5b0 65 63 0a 20 20 20 20 20 20 77 6c 3d 0a 0a 20 20  ec.      wl=..  
1b5c0 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1b5d0 24 63 6f 6e 76 65 6e 69 65 6e 63 65 22 3b 20 74  $convenience"; t
1b5e0 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  hen..if test -n 
1b5f0 22 24 77 68 6f 6c 65 5f 61 72 63 68 69 76 65 5f  "$whole_archive_
1b600 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65 6e  flag_spec"; then
1b610 0a 09 20 20 65 76 61 6c 20 72 65 6c 6f 61 64 5f  ..  eval reload_
1b620 63 6f 6e 76 5f 6f 62 6a 73 3d 5c 22 5c 24 72 65  conv_objs=\"\$re
1b630 6c 6f 61 64 5f 6f 62 6a 73 20 24 77 68 6f 6c 65  load_objs $whole
1b640 5f 61 72 63 68 69 76 65 5f 66 6c 61 67 5f 73 70  _archive_flag_sp
1b650 65 63 5c 22 0a 09 65 6c 73 65 0a 09 20 20 67 65  ec\"..else..  ge
1b660 6e 74 6f 70 3d 22 24 6f 75 74 70 75 74 5f 6f 62  ntop="$output_ob
1b670 6a 64 69 72 2f 24 7b 6f 62 6a 7d 78 22 0a 09 20  jdir/${obj}x".. 
1b680 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20 24   $show "${rm}r $
1b690 67 65 6e 74 6f 70 22 0a 09 20 20 24 72 75 6e 20  gentop"..  $run 
1b6a0 24 7b 72 6d 7d 72 20 22 24 67 65 6e 74 6f 70 22  ${rm}r "$gentop"
1b6b0 0a 09 20 20 24 73 68 6f 77 20 22 24 6d 6b 64 69  ..  $show "$mkdi
1b6c0 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 24 72  r $gentop"..  $r
1b6d0 75 6e 20 24 6d 6b 64 69 72 20 22 24 67 65 6e 74  un $mkdir "$gent
1b6e0 6f 70 22 0a 09 20 20 73 74 61 74 75 73 3d 24 3f  op"..  status=$?
1b6f0 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 73 74  ..  if test "$st
1b700 61 74 75 73 22 20 2d 6e 65 20 30 20 26 26 20 74  atus" -ne 0 && t
1b710 65 73 74 20 21 20 2d 64 20 22 24 67 65 6e 74 6f  est ! -d "$gento
1b720 70 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 65 78  p"; then..    ex
1b730 69 74 20 24 73 74 61 74 75 73 0a 09 20 20 66 69  it $status..  fi
1b740 0a 09 20 20 67 65 6e 65 72 61 74 65 64 3d 22 24  ..  generated="$
1b750 67 65 6e 65 72 61 74 65 64 20 24 67 65 6e 74 6f  generated $gento
1b760 70 22 0a 0a 09 20 20 66 6f 72 20 78 6c 69 62 20  p"...  for xlib 
1b770 69 6e 20 24 63 6f 6e 76 65 6e 69 65 6e 63 65 3b  in $convenience;
1b780 20 64 6f 0a 09 20 20 20 20 23 20 45 78 74 72 61   do..    # Extra
1b790 63 74 20 74 68 65 20 6f 62 6a 65 63 74 73 2e 0a  ct the objects..
1b7a0 09 20 20 20 20 63 61 73 65 20 24 78 6c 69 62 20  .    case $xlib 
1b7b0 69 6e 0a 09 20 20 20 20 5b 5c 5c 2f 5d 2a 20 7c  in..    [\\/]* |
1b7c0 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f 5d 2a   [A-Za-z]:[\\/]*
1b7d0 29 20 78 61 62 73 3d 22 24 78 6c 69 62 22 20 3b  ) xabs="$xlib" ;
1b7e0 3b 0a 09 20 20 20 20 2a 29 20 78 61 62 73 3d 60  ;..    *) xabs=`
1b7f0 70 77 64 60 22 2f 24 78 6c 69 62 22 20 3b 3b 0a  pwd`"/$xlib" ;;.
1b800 09 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 78  .    esac..    x
1b810 6c 69 62 3d 60 24 65 63 68 6f 20 22 58 24 78 6c  lib=`$echo "X$xl
1b820 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  ib" | $Xsed -e '
1b830 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 20 20  s%^.*/%%'`..    
1b840 78 64 69 72 3d 22 24 67 65 6e 74 6f 70 2f 24 78  xdir="$gentop/$x
1b850 6c 69 62 22 0a 0a 09 20 20 20 20 24 73 68 6f 77  lib"...    $show
1b860 20 22 24 7b 72 6d 7d 72 20 24 78 64 69 72 22 0a   "${rm}r $xdir".
1b870 09 20 20 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72  .    $run ${rm}r
1b880 20 22 24 78 64 69 72 22 0a 09 20 20 20 20 24 73   "$xdir"..    $s
1b890 68 6f 77 20 22 24 6d 6b 64 69 72 20 24 78 64 69  how "$mkdir $xdi
1b8a0 72 22 0a 09 20 20 20 20 24 72 75 6e 20 24 6d 6b  r"..    $run $mk
1b8b0 64 69 72 20 22 24 78 64 69 72 22 0a 09 20 20 20  dir "$xdir"..   
1b8c0 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 20 20   status=$?..    
1b8d0 69 66 20 74 65 73 74 20 22 24 73 74 61 74 75 73  if test "$status
1b8e0 22 20 2d 6e 65 20 30 20 26 26 20 74 65 73 74 20  " -ne 0 && test 
1b8f0 21 20 2d 64 20 22 24 78 64 69 72 22 3b 20 74 68  ! -d "$xdir"; th
1b900 65 6e 0a 09 20 20 20 20 20 20 65 78 69 74 20 24  en..      exit $
1b910 73 74 61 74 75 73 0a 09 20 20 20 20 66 69 0a 09  status..    fi..
1b920 20 20 20 20 23 20 57 65 20 77 69 6c 6c 20 65 78      # We will ex
1b930 74 72 61 63 74 20 73 65 70 61 72 61 74 65 6c 79  tract separately
1b940 20 6a 75 73 74 20 74 68 65 20 63 6f 6e 66 6c 69   just the confli
1b950 63 74 69 6e 67 20 6e 61 6d 65 73 20 61 6e 64 20  cting names and 
1b960 77 65 20 77 69 6c 6c 20 6e 6f 0a 09 20 20 20 20  we will no..    
1b970 23 20 6c 6f 6e 67 65 72 20 74 6f 75 63 68 20 61  # longer touch a
1b980 6e 79 20 75 6e 69 71 75 65 20 6e 61 6d 65 73 2e  ny unique names.
1b990 20 49 74 20 69 73 20 66 61 73 74 65 72 20 74 6f   It is faster to
1b9a0 20 6c 65 61 76 65 20 74 68 65 73 65 20 65 78 74   leave these ext
1b9b0 72 61 63 74 0a 09 20 20 20 20 23 20 61 75 74 6f  ract..    # auto
1b9c0 6d 61 74 69 63 61 6c 6c 79 20 62 79 20 24 41 52  matically by $AR
1b9d0 20 69 6e 20 6f 6e 65 20 72 75 6e 2e 0a 09 20 20   in one run...  
1b9e0 20 20 24 73 68 6f 77 20 22 28 63 64 20 24 78 64    $show "(cd $xd
1b9f0 69 72 20 26 26 20 24 41 52 20 78 20 24 78 61 62  ir && $AR x $xab
1ba00 73 29 22 0a 09 20 20 20 20 24 72 75 6e 20 65 76  s)"..    $run ev
1ba10 61 6c 20 22 28 63 64 20 5c 24 78 64 69 72 20 26  al "(cd \$xdir &
1ba20 26 20 24 41 52 20 78 20 5c 24 78 61 62 73 29 22  & $AR x \$xabs)"
1ba30 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 20   || exit $?..   
1ba40 20 69 66 20 28 24 41 52 20 74 20 22 24 78 61 62   if ($AR t "$xab
1ba50 73 22 20 7c 20 73 6f 72 74 20 7c 20 73 6f 72 74  s" | sort | sort
1ba60 20 2d 75 63 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20   -uc >/dev/null 
1ba70 32 3e 26 31 29 3b 20 74 68 65 6e 0a 09 20 20 20  2>&1); then..   
1ba80 20 20 20 3a 0a 09 20 20 20 20 65 6c 73 65 0a 09     :..    else..
1ba90 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f        $echo "$mo
1baa0 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a  dename: warning:
1bab0 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 63 6f 6e   object name con
1bac0 66 6c 69 63 74 73 3b 20 72 65 6e 61 6d 69 6e 67  flicts; renaming
1bad0 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 22 20 31   object files" 1
1bae0 3e 26 32 0a 09 20 20 20 20 20 20 24 65 63 68 6f  >&2..      $echo
1baf0 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72   "$modename: war
1bb00 6e 69 6e 67 3a 20 74 6f 20 65 6e 73 75 72 65 20  ning: to ensure 
1bb10 74 68 61 74 20 74 68 65 79 20 77 69 6c 6c 20 6e  that they will n
1bb20 6f 74 20 6f 76 65 72 77 72 69 74 65 22 20 31 3e  ot overwrite" 1>
1bb30 26 32 0a 09 20 20 20 20 20 20 24 41 52 20 74 20  &2..      $AR t 
1bb40 22 24 78 61 62 73 22 20 7c 20 73 6f 72 74 20 7c  "$xabs" | sort |
1bb50 20 75 6e 69 71 20 2d 63 64 20 7c 20 77 68 69 6c   uniq -cd | whil
1bb60 65 20 72 65 61 64 20 2d 72 20 63 6f 75 6e 74 20  e read -r count 
1bb70 6e 61 6d 65 0a 09 20 20 20 20 20 20 64 6f 0a 09  name..      do..
1bb80 09 69 3d 31 0a 09 09 77 68 69 6c 65 20 74 65 73  .i=1...while tes
1bb90 74 20 22 24 69 22 20 2d 6c 65 20 22 24 63 6f 75  t "$i" -le "$cou
1bba0 6e 74 22 0a 09 09 64 6f 0a 09 09 20 23 20 50 75  nt"...do... # Pu
1bbb0 74 20 6f 75 72 20 24 69 20 62 65 66 6f 72 65 20  t our $i before 
1bbc0 61 6e 79 20 66 69 72 73 74 20 64 6f 74 20 28 65  any first dot (e
1bbd0 78 74 65 6e 73 69 6f 6e 29 0a 09 09 20 23 20 4e  xtension)... # N
1bbe0 65 76 65 72 20 6f 76 65 72 77 72 69 74 65 20 61  ever overwrite a
1bbf0 6e 79 20 66 69 6c 65 0a 09 09 20 6e 61 6d 65 5f  ny file... name_
1bc00 74 6f 3d 22 24 6e 61 6d 65 22 0a 09 09 20 77 68  to="$name"... wh
1bc10 69 6c 65 20 74 65 73 74 20 22 58 24 6e 61 6d 65  ile test "X$name
1bc20 5f 74 6f 22 20 3d 20 22 58 24 6e 61 6d 65 22 20  _to" = "X$name" 
1bc30 7c 7c 20 74 65 73 74 20 2d 66 20 22 24 78 64 69  || test -f "$xdi
1bc40 72 2f 24 6e 61 6d 65 5f 74 6f 22 0a 09 09 20 64  r/$name_to"... d
1bc50 6f 0a 09 09 20 20 20 6e 61 6d 65 5f 74 6f 3d 60  o...   name_to=`
1bc60 24 65 63 68 6f 20 22 58 24 6e 61 6d 65 5f 74 6f  $echo "X$name_to
1bc70 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 2f  " | $Xsed -e "s/
1bc80 5c 28 5b 5e 2e 5d 2a 5c 29 2f 5c 31 2d 24 69 2f  \([^.]*\)/\1-$i/
1bc90 22 60 0a 09 09 20 64 6f 6e 65 0a 09 09 20 24 73  "`... done... $s
1bca0 68 6f 77 20 22 28 63 64 20 24 78 64 69 72 20 26  how "(cd $xdir &
1bcb0 26 20 24 41 52 20 78 4e 20 24 69 20 24 78 61 62  & $AR xN $i $xab
1bcc0 73 20 27 24 6e 61 6d 65 27 20 26 26 20 24 6d 76  s '$name' && $mv
1bcd0 20 27 24 6e 61 6d 65 27 20 27 24 6e 61 6d 65 5f   '$name' '$name_
1bce0 74 6f 27 29 22 0a 09 09 20 24 72 75 6e 20 65 76  to')"... $run ev
1bcf0 61 6c 20 22 28 63 64 20 5c 24 78 64 69 72 20 26  al "(cd \$xdir &
1bd00 26 20 24 41 52 20 78 4e 20 24 69 20 5c 24 78 61  & $AR xN $i \$xa
1bd10 62 73 20 27 24 6e 61 6d 65 27 20 26 26 20 24 6d  bs '$name' && $m
1bd20 76 20 27 24 6e 61 6d 65 27 20 27 24 6e 61 6d 65  v '$name' '$name
1bd30 5f 74 6f 27 29 22 20 7c 7c 20 65 78 69 74 20 24  _to')" || exit $
1bd40 3f 0a 09 09 20 69 3d 60 65 78 70 72 20 24 69 20  ?... i=`expr $i 
1bd50 2b 20 31 60 0a 09 09 64 6f 6e 65 0a 09 20 20 20  + 1`...done..   
1bd60 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 66 69 0a     done..    fi.
1bd70 0a 09 20 20 20 20 72 65 6c 6f 61 64 5f 63 6f 6e  ..    reload_con
1bd80 76 5f 6f 62 6a 73 3d 22 24 72 65 6c 6f 61 64 5f  v_objs="$reload_
1bd90 6f 62 6a 73 20 22 60 66 69 6e 64 20 24 78 64 69  objs "`find $xdi
1bda0 72 20 2d 6e 61 6d 65 20 5c 2a 2e 24 6f 62 6a 65  r -name \*.$obje
1bdb0 78 74 20 2d 70 72 69 6e 74 20 2d 6f 20 2d 6e 61  xt -print -o -na
1bdc0 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e 74 20  me \*.lo -print 
1bdd0 7c 20 24 4e 4c 32 53 50 60 0a 09 20 20 64 6f 6e  | $NL2SP`..  don
1bde0 65 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a  e..fi.      fi..
1bdf0 20 20 20 20 20 20 23 20 43 72 65 61 74 65 20 74        # Create t
1be00 68 65 20 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a  he old-style obj
1be10 65 63 74 2e 0a 20 20 20 20 20 20 72 65 6c 6f 61  ect..      reloa
1be20 64 5f 6f 62 6a 73 3d 22 24 6f 62 6a 73 24 6f 6c  d_objs="$objs$ol
1be30 64 5f 64 65 70 6c 69 62 73 20 22 60 24 65 63 68  d_deplibs "`$ech
1be40 6f 20 22 58 24 6c 69 62 6f 62 6a 73 22 20 7c 20  o "X$libobjs" | 
1be50 24 53 50 32 4e 4c 20 7c 20 24 58 73 65 64 20 2d  $SP2NL | $Xsed -
1be60 65 20 27 2f 5c 2e 27 24 7b 6c 69 62 65 78 74 7d  e '/\.'${libext}
1be70 24 27 2f 64 27 20 2d 65 20 27 2f 5c 2e 6c 69 62  $'/d' -e '/\.lib
1be80 24 2f 64 27 20 2d 65 20 22 24 6c 6f 32 6f 22 20  $/d' -e "$lo2o" 
1be90 7c 20 24 4e 4c 32 53 50 60 22 20 24 72 65 6c 6f  | $NL2SP`" $relo
1bea0 61 64 5f 63 6f 6e 76 5f 6f 62 6a 73 22 20 23 23  ad_conv_objs" ##
1beb0 23 20 74 65 73 74 73 75 69 74 65 3a 20 73 6b 69  # testsuite: ski
1bec0 70 20 6e 65 73 74 65 64 20 71 75 6f 74 69 6e 67  p nested quoting
1bed0 20 74 65 73 74 0a 0a 20 20 20 20 20 20 6f 75 74   test..      out
1bee0 70 75 74 3d 22 24 6f 62 6a 22 0a 20 20 20 20 20  put="$obj".     
1bef0 20 63 6d 64 73 3d 24 72 65 6c 6f 61 64 5f 63 6d   cmds=$reload_cm
1bf00 64 73 0a 20 20 20 20 20 20 73 61 76 65 5f 69 66  ds.      save_if
1bf10 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27 7e  s="$IFS"; IFS='~
1bf20 27 0a 20 20 20 20 20 20 66 6f 72 20 63 6d 64 20  '.      for cmd 
1bf30 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 49 46  in $cmds; do..IF
1bf40 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09 65  S="$save_ifs"..e
1bf50 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d 64 5c 22  val cmd=\"$cmd\"
1bf60 0a 09 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09  ..$show "$cmd"..
1bf70 24 72 75 6e 20 65 76 61 6c 20 22 24 63 6d 64 22  $run eval "$cmd"
1bf80 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20 20 20 20   || exit $?.    
1bf90 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 49 46 53    done.      IFS
1bfa0 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 0a 20 20  ="$save_ifs"..  
1bfb0 20 20 20 20 23 20 45 78 69 74 20 69 66 20 77 65      # Exit if we
1bfc0 20 61 72 65 6e 27 74 20 64 6f 69 6e 67 20 61 20   aren't doing a 
1bfd0 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20 66  library object f
1bfe0 69 6c 65 2e 0a 20 20 20 20 20 20 69 66 20 74 65  ile..      if te
1bff0 73 74 20 2d 7a 20 22 24 6c 69 62 6f 62 6a 22 3b  st -z "$libobj";
1c000 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74 20 2d   then..if test -
1c010 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65  n "$gentop"; the
1c020 6e 0a 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d  n..  $show "${rm
1c030 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 20 20 24  }r $gentop"..  $
1c040 72 75 6e 20 24 7b 72 6d 7d 72 20 24 67 65 6e 74  run ${rm}r $gent
1c050 6f 70 0a 09 66 69 0a 0a 09 65 78 69 74 20 30 0a  op..fi...exit 0.
1c060 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1c070 69 66 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f  if test "$build_
1c080 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 22 20 21 3d  libtool_libs" !=
1c090 20 79 65 73 3b 20 74 68 65 6e 0a 09 69 66 20 74   yes; then..if t
1c0a0 65 73 74 20 2d 6e 20 22 24 67 65 6e 74 6f 70 22  est -n "$gentop"
1c0b0 3b 20 74 68 65 6e 0a 09 20 20 24 73 68 6f 77 20  ; then..  $show 
1c0c0 22 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f 70 22  "${rm}r $gentop"
1c0d0 0a 09 20 20 24 72 75 6e 20 24 7b 72 6d 7d 72 20  ..  $run ${rm}r 
1c0e0 24 67 65 6e 74 6f 70 0a 09 66 69 0a 0a 09 23 20  $gentop..fi...# 
1c0f0 43 72 65 61 74 65 20 61 6e 20 69 6e 76 61 6c 69  Create an invali
1c100 64 20 6c 69 62 74 6f 6f 6c 20 6f 62 6a 65 63 74  d libtool object
1c110 20 69 66 20 6e 6f 20 50 49 43 2c 20 73 6f 20 74   if no PIC, so t
1c120 68 61 74 20 77 65 20 64 6f 6e 27 74 0a 09 23 20  hat we don't..# 
1c130 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 69 6e  accidentally lin
1c140 6b 20 69 74 20 69 6e 74 6f 20 61 20 70 72 6f 67  k it into a prog
1c150 72 61 6d 2e 0a 09 23 20 24 73 68 6f 77 20 22 65  ram...# $show "e
1c160 63 68 6f 20 74 69 6d 65 73 74 61 6d 70 20 3e 20  cho timestamp > 
1c170 24 6c 69 62 6f 62 6a 22 0a 09 23 20 24 72 75 6e  $libobj"..# $run
1c180 20 65 76 61 6c 20 22 65 63 68 6f 20 74 69 6d 65   eval "echo time
1c190 73 74 61 6d 70 20 3e 20 24 6c 69 62 6f 62 6a 22  stamp > $libobj"
1c1a0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 65 78 69   || exit $?..exi
1c1b0 74 20 30 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  t 0.      fi..  
1c1c0 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
1c1d0 24 70 69 63 5f 66 6c 61 67 22 20 7c 7c 20 74 65  $pic_flag" || te
1c1e0 73 74 20 22 24 70 69 63 5f 6d 6f 64 65 22 20 21  st "$pic_mode" !
1c1f0 3d 20 64 65 66 61 75 6c 74 3b 20 74 68 65 6e 0a  = default; then.
1c200 09 23 20 4f 6e 6c 79 20 64 6f 20 63 6f 6d 6d 61  .# Only do comma
1c210 6e 64 73 20 69 66 20 77 65 20 72 65 61 6c 6c 79  nds if we really
1c220 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 20   have different 
1c230 50 49 43 20 6f 62 6a 65 63 74 73 2e 0a 09 72 65  PIC objects...re
1c240 6c 6f 61 64 5f 6f 62 6a 73 3d 22 24 6c 69 62 6f  load_objs="$libo
1c250 62 6a 73 20 24 72 65 6c 6f 61 64 5f 63 6f 6e 76  bjs $reload_conv
1c260 5f 6f 62 6a 73 22 0a 09 6f 75 74 70 75 74 3d 22  _objs"..output="
1c270 24 6c 69 62 6f 62 6a 22 0a 09 63 6d 64 73 3d 24  $libobj"..cmds=$
1c280 72 65 6c 6f 61 64 5f 63 6d 64 73 0a 09 73 61 76  reload_cmds..sav
1c290 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46  e_ifs="$IFS"; IF
1c2a0 53 3d 27 7e 27 0a 09 66 6f 72 20 63 6d 64 20 69  S='~'..for cmd i
1c2b0 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 09 20 20 49  n $cmds; do..  I
1c2c0 46 53 3d 22 24 73 61 76 65 5f 69 66 73 22 0a 09  FS="$save_ifs"..
1c2d0 20 20 65 76 61 6c 20 63 6d 64 3d 5c 22 24 63 6d    eval cmd=\"$cm
1c2e0 64 5c 22 0a 09 20 20 24 73 68 6f 77 20 22 24 63  d\"..  $show "$c
1c2f0 6d 64 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c  md"..  $run eval
1c300 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74 20   "$cmd" || exit 
1c310 24 3f 0a 09 64 6f 6e 65 0a 09 49 46 53 3d 22 24  $?..done..IFS="$
1c320 73 61 76 65 5f 69 66 73 22 0a 20 20 20 20 20 20  save_ifs".      
1c330 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73  fi..      if tes
1c340 74 20 2d 6e 20 22 24 67 65 6e 74 6f 70 22 3b 20  t -n "$gentop"; 
1c350 74 68 65 6e 0a 09 24 73 68 6f 77 20 22 24 7b 72  then..$show "${r
1c360 6d 7d 72 20 24 67 65 6e 74 6f 70 22 0a 09 24 72  m}r $gentop"..$r
1c370 75 6e 20 24 7b 72 6d 7d 72 20 24 67 65 6e 74 6f  un ${rm}r $gento
1c380 70 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20  p.      fi..    
1c390 20 20 65 78 69 74 20 30 0a 20 20 20 20 20 20 3b    exit 0.      ;
1c3a0 3b 0a 0a 20 20 20 20 70 72 6f 67 29 0a 20 20 20  ;..    prog).   
1c3b0 20 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e     case $host in
1c3c0 0a 09 2a 63 79 67 77 69 6e 2a 29 20 6f 75 74 70  ..*cygwin*) outp
1c3d0 75 74 3d 60 24 65 63 68 6f 20 24 6f 75 74 70 75  ut=`$echo $outpu
1c3e0 74 20 7c 20 24 7b 53 45 44 7d 20 2d 65 20 27 73  t | ${SED} -e 's
1c3f0 2c 2e 65 78 65 24 2c 2c 3b 73 2c 24 2c 2e 65 78  ,.exe$,,;s,$,.ex
1c400 65 2c 27 60 20 3b 3b 0a 20 20 20 20 20 20 65 73  e,'` ;;.      es
1c410 61 63 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  ac.      if test
1c420 20 2d 6e 20 22 24 76 69 6e 66 6f 22 3b 20 74 68   -n "$vinfo"; th
1c430 65 6e 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65  en..$echo "$mode
1c440 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20 5c  name: warning: \
1c450 60 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 27 20  `-version-info' 
1c460 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 70  is ignored for p
1c470 72 6f 67 72 61 6d 73 22 20 31 3e 26 32 0a 20 20  rograms" 1>&2.  
1c480 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66      fi..      if
1c490 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 65 61   test -n "$relea
1c4a0 73 65 22 3b 20 74 68 65 6e 0a 09 24 65 63 68 6f  se"; then..$echo
1c4b0 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72   "$modename: war
1c4c0 6e 69 6e 67 3a 20 5c 60 2d 72 65 6c 65 61 73 65  ning: \`-release
1c4d0 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f 72  ' is ignored for
1c4e0 20 70 72 6f 67 72 61 6d 73 22 20 31 3e 26 32 0a   programs" 1>&2.
1c4f0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1c500 69 66 20 74 65 73 74 20 22 24 70 72 65 6c 6f 61  if test "$preloa
1c510 64 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  d" = yes; then..
1c520 69 66 20 74 65 73 74 20 22 24 64 6c 6f 70 65 6e  if test "$dlopen
1c530 5f 73 75 70 70 6f 72 74 22 20 3d 20 75 6e 6b 6e  _support" = unkn
1c540 6f 77 6e 20 26 26 20 74 65 73 74 20 22 24 64 6c  own && test "$dl
1c550 6f 70 65 6e 5f 73 65 6c 66 22 20 3d 20 75 6e 6b  open_self" = unk
1c560 6e 6f 77 6e 20 26 26 0a 09 20 20 20 74 65 73 74  nown &&..   test
1c570 20 22 24 64 6c 6f 70 65 6e 5f 73 65 6c 66 5f 73   "$dlopen_self_s
1c580 74 61 74 69 63 22 20 3d 20 75 6e 6b 6e 6f 77 6e  tatic" = unknown
1c590 3b 20 74 68 65 6e 0a 09 20 20 24 65 63 68 6f 20  ; then..  $echo 
1c5a0 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e  "$modename: warn
1c5b0 69 6e 67 3a 20 5c 60 41 43 5f 4c 49 42 54 4f 4f  ing: \`AC_LIBTOO
1c5c0 4c 5f 44 4c 4f 50 45 4e 27 20 6e 6f 74 20 75 73  L_DLOPEN' not us
1c5d0 65 64 2e 20 41 73 73 75 6d 69 6e 67 20 6e 6f 20  ed. Assuming no 
1c5e0 64 6c 6f 70 65 6e 20 73 75 70 70 6f 72 74 2e 22  dlopen support."
1c5f0 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20  ..fi.      fi.. 
1c600 20 20 20 20 20 63 61 73 65 20 24 68 6f 73 74 20       case $host 
1c610 69 6e 0a 20 20 20 20 20 20 2a 2d 2a 2d 72 68 61  in.      *-*-rha
1c620 70 73 6f 64 79 2a 20 7c 20 2a 2d 2a 2d 64 61 72  psody* | *-*-dar
1c630 77 69 6e 31 2e 5b 30 31 32 5d 29 0a 09 23 20 4f  win1.[012])..# O
1c640 6e 20 52 68 61 70 73 6f 64 79 20 72 65 70 6c 61  n Rhapsody repla
1c650 63 65 20 74 68 65 20 43 20 6c 69 62 72 61 72 79  ce the C library
1c660 20 69 73 20 74 68 65 20 53 79 73 74 65 6d 20 66   is the System f
1c670 72 61 6d 65 77 6f 72 6b 0a 09 63 6f 6d 70 69 6c  ramework..compil
1c680 65 5f 64 65 70 6c 69 62 73 3d 60 24 65 63 68 6f  e_deplibs=`$echo
1c690 20 22 58 20 24 63 6f 6d 70 69 6c 65 5f 64 65 70   "X $compile_dep
1c6a0 6c 69 62 73 22 20 7c 20 24 58 73 65 64 20 2d 65  libs" | $Xsed -e
1c6b0 20 27 73 2f 20 2d 6c 63 20 2f 20 2d 66 72 61 6d   's/ -lc / -fram
1c6c0 65 77 6f 72 6b 20 53 79 73 74 65 6d 20 2f 27 60  ework System /'`
1c6d0 0a 09 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69  ..finalize_depli
1c6e0 62 73 3d 60 24 65 63 68 6f 20 22 58 20 24 66 69  bs=`$echo "X $fi
1c6f0 6e 61 6c 69 7a 65 5f 64 65 70 6c 69 62 73 22 20  nalize_deplibs" 
1c700 7c 20 24 58 73 65 64 20 2d 65 20 27 73 2f 20 2d  | $Xsed -e 's/ -
1c710 6c 63 20 2f 20 2d 66 72 61 6d 65 77 6f 72 6b 20  lc / -framework 
1c720 53 79 73 74 65 6d 20 2f 27 60 0a 09 3b 3b 0a 20  System /'`..;;. 
1c730 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20 20 20       esac..     
1c740 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 20   case $host in. 
1c750 20 20 20 20 20 2a 64 61 72 77 69 6e 2a 29 0a 20       *darwin*). 
1c760 20 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20 61         # Don't a
1c770 6c 6c 6f 77 20 6c 61 7a 79 20 6c 69 6e 6b 69 6e  llow lazy linkin
1c780 67 2c 20 69 74 20 62 72 65 61 6b 73 20 43 2b 2b  g, it breaks C++
1c790 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 72 75 63   global construc
1c7a0 74 6f 72 73 0a 20 20 20 20 20 20 20 20 69 66 20  tors.        if 
1c7b0 74 65 73 74 20 22 24 74 61 67 6e 61 6d 65 22 20  test "$tagname" 
1c7c0 3d 20 43 58 58 20 3b 20 74 68 65 6e 0a 20 20 20  = CXX ; then.   
1c7d0 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d       compile_com
1c7e0 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63  mand="$compile_c
1c7f0 6f 6d 6d 61 6e 64 20 24 7b 77 6c 7d 2d 62 69 6e  ommand ${wl}-bin
1c800 64 5f 61 74 5f 6c 6f 61 64 22 0a 20 20 20 20 20  d_at_load".     
1c810 20 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d     finalize_comm
1c820 61 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 63  and="$finalize_c
1c830 6f 6d 6d 61 6e 64 20 24 7b 77 6c 7d 2d 62 69 6e  ommand ${wl}-bin
1c840 64 5f 61 74 5f 6c 6f 61 64 22 0a 20 20 20 20 20  d_at_load".     
1c850 20 20 20 66 69 0a 20 20 20 20 20 20 20 20 3b 3b     fi.        ;;
1c860 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20 20  .      esac..   
1c870 20 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61     compile_comma
1c880 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d  nd="$compile_com
1c890 6d 61 6e 64 20 24 63 6f 6d 70 69 6c 65 5f 64 65  mand $compile_de
1c8a0 70 6c 69 62 73 22 0a 20 20 20 20 20 20 66 69 6e  plibs".      fin
1c8b0 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24  alize_command="$
1c8c0 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64  finalize_command
1c8d0 20 24 66 69 6e 61 6c 69 7a 65 5f 64 65 70 6c 69   $finalize_depli
1c8e0 62 73 22 0a 0a 20 20 20 20 20 20 69 66 20 74 65  bs"..      if te
1c8f0 73 74 20 2d 6e 20 22 24 72 70 61 74 68 24 78 72  st -n "$rpath$xr
1c900 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 23 20 49  path"; then..# I
1c910 66 20 74 68 65 20 75 73 65 72 20 73 70 65 63 69  f the user speci
1c920 66 69 65 64 20 61 6e 79 20 72 70 61 74 68 20 66  fied any rpath f
1c930 6c 61 67 73 2c 20 74 68 65 6e 20 61 64 64 20 74  lags, then add t
1c940 68 65 6d 2e 0a 09 66 6f 72 20 6c 69 62 64 69 72  hem...for libdir
1c950 20 69 6e 20 24 72 70 61 74 68 20 24 78 72 70 61   in $rpath $xrpa
1c960 74 68 3b 20 64 6f 0a 09 20 20 23 20 54 68 69 73  th; do..  # This
1c970 20 69 73 20 74 68 65 20 6d 61 67 69 63 20 74 6f   is the magic to
1c980 20 75 73 65 20 2d 72 70 61 74 68 2e 0a 09 20 20   use -rpath...  
1c990 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a 65 5f  case "$finalize_
1c9a0 72 70 61 74 68 20 22 20 69 6e 0a 09 20 20 2a 22  rpath " in..  *"
1c9b0 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a   $libdir "*) ;;.
1c9c0 09 20 20 2a 29 20 66 69 6e 61 6c 69 7a 65 5f 72  .  *) finalize_r
1c9d0 70 61 74 68 3d 22 24 66 69 6e 61 6c 69 7a 65 5f  path="$finalize_
1c9e0 72 70 61 74 68 20 24 6c 69 62 64 69 72 22 20 3b  rpath $libdir" ;
1c9f0 3b 0a 09 20 20 65 73 61 63 0a 09 64 6f 6e 65 0a  ;..  esac..done.
1ca00 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1ca10 23 20 4e 6f 77 20 68 61 72 64 63 6f 64 65 20 74  # Now hardcode t
1ca20 68 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73  he library paths
1ca30 0a 20 20 20 20 20 20 72 70 61 74 68 3d 0a 20 20  .      rpath=.  
1ca40 20 20 20 20 68 61 72 64 63 6f 64 65 5f 6c 69 62      hardcode_lib
1ca50 64 69 72 73 3d 0a 20 20 20 20 20 20 66 6f 72 20  dirs=.      for 
1ca60 6c 69 62 64 69 72 20 69 6e 20 24 63 6f 6d 70 69  libdir in $compi
1ca70 6c 65 5f 72 70 61 74 68 20 24 66 69 6e 61 6c 69  le_rpath $finali
1ca80 7a 65 5f 72 70 61 74 68 3b 20 64 6f 0a 09 69 66  ze_rpath; do..if
1ca90 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64 63   test -n "$hardc
1caa0 6f 64 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f  ode_libdir_flag_
1cab0 73 70 65 63 22 3b 20 74 68 65 6e 0a 09 20 20 69  spec"; then..  i
1cac0 66 20 74 65 73 74 20 2d 6e 20 22 24 68 61 72 64  f test -n "$hard
1cad0 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61  code_libdir_sepa
1cae0 72 61 74 6f 72 22 3b 20 74 68 65 6e 0a 09 20 20  rator"; then..  
1caf0 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 68    if test -z "$h
1cb00 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22  ardcode_libdirs"
1cb10 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 68 61  ; then..      ha
1cb20 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22  rdcode_libdirs="
1cb30 24 6c 69 62 64 69 72 22 0a 09 20 20 20 20 65 6c  $libdir"..    el
1cb40 73 65 0a 09 20 20 20 20 20 20 23 20 4a 75 73 74  se..      # Just
1cb50 20 61 63 63 75 6d 75 6c 61 74 65 20 74 68 65 20   accumulate the 
1cb60 75 6e 69 71 75 65 20 6c 69 62 64 69 72 73 2e 0a  unique libdirs..
1cb70 09 20 20 20 20 20 20 63 61 73 65 20 24 68 61 72  .      case $har
1cb80 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73 65 70  dcode_libdir_sep
1cb90 61 72 61 74 6f 72 24 68 61 72 64 63 6f 64 65 5f  arator$hardcode_
1cba0 6c 69 62 64 69 72 73 24 68 61 72 64 63 6f 64 65  libdirs$hardcode
1cbb0 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
1cbc0 72 20 69 6e 0a 09 20 20 20 20 20 20 2a 22 24 68  r in..      *"$h
1cbd0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 73  ardcode_libdir_s
1cbe0 65 70 61 72 61 74 6f 72 24 6c 69 62 64 69 72 24  eparator$libdir$
1cbf0 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
1cc00 73 65 70 61 72 61 74 6f 72 22 2a 29 0a 09 09 3b  separator"*)...;
1cc10 3b 0a 09 20 20 20 20 20 20 2a 29 0a 09 09 68 61  ;..      *)...ha
1cc20 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 3d 22  rdcode_libdirs="
1cc30 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1cc40 73 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69  s$hardcode_libdi
1cc50 72 5f 73 65 70 61 72 61 74 6f 72 24 6c 69 62 64  r_separator$libd
1cc60 69 72 22 0a 09 09 3b 3b 0a 09 20 20 20 20 20 20  ir"...;;..      
1cc70 65 73 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20  esac..    fi..  
1cc80 65 6c 73 65 0a 09 20 20 20 20 65 76 61 6c 20 66  else..    eval f
1cc90 6c 61 67 3d 5c 22 24 68 61 72 64 63 6f 64 65 5f  lag=\"$hardcode_
1cca0 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63  libdir_flag_spec
1ccb0 5c 22 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24  \"..    rpath="$
1ccc0 72 70 61 74 68 20 24 66 6c 61 67 22 0a 09 20 20  rpath $flag"..  
1ccd0 66 69 0a 09 65 6c 69 66 20 74 65 73 74 20 2d 6e  fi..elif test -n
1cce0 20 22 24 72 75 6e 70 61 74 68 5f 76 61 72 22 3b   "$runpath_var";
1ccf0 20 74 68 65 6e 0a 09 20 20 63 61 73 65 20 22 24   then..  case "$
1cd00 70 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e 0a  perm_rpath " in.
1cd10 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22 2a  .  *" $libdir "*
1cd20 29 20 3b 3b 0a 09 20 20 2a 29 20 70 65 72 6d 5f  ) ;;..  *) perm_
1cd30 72 70 61 74 68 3d 22 24 70 65 72 6d 5f 72 70 61  rpath="$perm_rpa
1cd40 74 68 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a 09  th $libdir" ;;..
1cd50 20 20 65 73 61 63 0a 09 66 69 0a 09 63 61 73 65    esac..fi..case
1cd60 20 24 68 6f 73 74 20 69 6e 0a 09 2a 2d 2a 2d 63   $host in..*-*-c
1cd70 79 67 77 69 6e 2a 20 7c 20 2a 2d 2a 2d 6d 69 6e  ygwin* | *-*-min
1cd80 67 77 2a 20 7c 20 2a 2d 2a 2d 70 77 33 32 2a 20  gw* | *-*-pw32* 
1cd90 7c 20 2a 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 63  | *-*-os2*)..  c
1cda0 61 73 65 20 3a 24 64 6c 6c 73 65 61 72 63 68 70  ase :$dllsearchp
1cdb0 61 74 68 3a 20 69 6e 0a 09 20 20 2a 22 3a 24 6c  ath: in..  *":$l
1cdc0 69 62 64 69 72 3a 22 2a 29 20 3b 3b 0a 09 20 20  ibdir:"*) ;;..  
1cdd0 2a 29 20 64 6c 6c 73 65 61 72 63 68 70 61 74 68  *) dllsearchpath
1cde0 3d 22 24 64 6c 6c 73 65 61 72 63 68 70 61 74 68  ="$dllsearchpath
1cdf0 3a 24 6c 69 62 64 69 72 22 3b 3b 0a 09 20 20 65  :$libdir";;..  e
1ce00 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a  sac..  ;;..esac.
1ce10 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20        done.     
1ce20 20 23 20 53 75 62 73 74 69 74 75 74 65 20 74 68   # Substitute th
1ce30 65 20 68 61 72 64 63 6f 64 65 64 20 6c 69 62 64  e hardcoded libd
1ce40 69 72 73 20 69 6e 74 6f 20 74 68 65 20 72 70 61  irs into the rpa
1ce50 74 68 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73  th..      if tes
1ce60 74 20 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f  t -n "$hardcode_
1ce70 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
1ce80 22 20 26 26 0a 09 20 74 65 73 74 20 2d 6e 20 22  " &&.. test -n "
1ce90 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1cea0 73 22 3b 20 74 68 65 6e 0a 09 6c 69 62 64 69 72  s"; then..libdir
1ceb0 3d 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  ="$hardcode_libd
1cec0 69 72 73 22 0a 09 65 76 61 6c 20 72 70 61 74 68  irs"..eval rpath
1ced0 3d 5c 22 20 24 68 61 72 64 63 6f 64 65 5f 6c 69  =\" $hardcode_li
1cee0 62 64 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22  bdir_flag_spec\"
1cef0 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20 20  .      fi.      
1cf00 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 3d 22 24  compile_rpath="$
1cf10 72 70 61 74 68 22 0a 0a 20 20 20 20 20 20 72 70  rpath"..      rp
1cf20 61 74 68 3d 0a 20 20 20 20 20 20 68 61 72 64 63  ath=.      hardc
1cf30 6f 64 65 5f 6c 69 62 64 69 72 73 3d 0a 20 20 20  ode_libdirs=.   
1cf40 20 20 20 66 6f 72 20 6c 69 62 64 69 72 20 69 6e     for libdir in
1cf50 20 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68   $finalize_rpath
1cf60 3b 20 64 6f 0a 09 69 66 20 74 65 73 74 20 2d 6e  ; do..if test -n
1cf70 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64   "$hardcode_libd
1cf80 69 72 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74  ir_flag_spec"; t
1cf90 68 65 6e 0a 09 20 20 69 66 20 74 65 73 74 20 2d  hen..  if test -
1cfa0 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69 62  n "$hardcode_lib
1cfb0 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22 3b 20  dir_separator"; 
1cfc0 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65 73  then..    if tes
1cfd0 74 20 2d 7a 20 22 24 68 61 72 64 63 6f 64 65 5f  t -z "$hardcode_
1cfe0 6c 69 62 64 69 72 73 22 3b 20 74 68 65 6e 0a 09  libdirs"; then..
1cff0 20 20 20 20 20 20 68 61 72 64 63 6f 64 65 5f 6c        hardcode_l
1d000 69 62 64 69 72 73 3d 22 24 6c 69 62 64 69 72 22  ibdirs="$libdir"
1d010 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20  ..    else..    
1d020 20 20 23 20 4a 75 73 74 20 61 63 63 75 6d 75 6c    # Just accumul
1d030 61 74 65 20 74 68 65 20 75 6e 69 71 75 65 20 6c  ate the unique l
1d040 69 62 64 69 72 73 2e 0a 09 20 20 20 20 20 20 63  ibdirs...      c
1d050 61 73 65 20 24 68 61 72 64 63 6f 64 65 5f 6c 69  ase $hardcode_li
1d060 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 24 68  bdir_separator$h
1d070 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 24  ardcode_libdirs$
1d080 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f  hardcode_libdir_
1d090 73 65 70 61 72 61 74 6f 72 20 69 6e 0a 09 20 20  separator in..  
1d0a0 20 20 20 20 2a 22 24 68 61 72 64 63 6f 64 65 5f      *"$hardcode_
1d0b0 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72  libdir_separator
1d0c0 24 6c 69 62 64 69 72 24 68 61 72 64 63 6f 64 65  $libdir$hardcode
1d0d0 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61 74 6f  _libdir_separato
1d0e0 72 22 2a 29 0a 09 09 3b 3b 0a 09 20 20 20 20 20  r"*)...;;..     
1d0f0 20 2a 29 0a 09 09 68 61 72 64 63 6f 64 65 5f 6c   *)...hardcode_l
1d100 69 62 64 69 72 73 3d 22 24 68 61 72 64 63 6f 64  ibdirs="$hardcod
1d110 65 5f 6c 69 62 64 69 72 73 24 68 61 72 64 63 6f  e_libdirs$hardco
1d120 64 65 5f 6c 69 62 64 69 72 5f 73 65 70 61 72 61  de_libdir_separa
1d130 74 6f 72 24 6c 69 62 64 69 72 22 0a 09 09 3b 3b  tor$libdir"...;;
1d140 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20  ..      esac..  
1d150 20 20 66 69 0a 09 20 20 65 6c 73 65 0a 09 20 20    fi..  else..  
1d160 20 20 65 76 61 6c 20 66 6c 61 67 3d 5c 22 24 68    eval flag=\"$h
1d170 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 5f 66  ardcode_libdir_f
1d180 6c 61 67 5f 73 70 65 63 5c 22 0a 09 20 20 20 20  lag_spec\"..    
1d190 72 70 61 74 68 3d 22 24 72 70 61 74 68 20 24 66  rpath="$rpath $f
1d1a0 6c 61 67 22 0a 09 20 20 66 69 0a 09 65 6c 69 66  lag"..  fi..elif
1d1b0 20 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61   test -n "$runpa
1d1c0 74 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 20  th_var"; then.. 
1d1d0 20 63 61 73 65 20 22 24 66 69 6e 61 6c 69 7a 65   case "$finalize
1d1e0 5f 70 65 72 6d 5f 72 70 61 74 68 20 22 20 69 6e  _perm_rpath " in
1d1f0 0a 09 20 20 2a 22 20 24 6c 69 62 64 69 72 20 22  ..  *" $libdir "
1d200 2a 29 20 3b 3b 0a 09 20 20 2a 29 20 66 69 6e 61  *) ;;..  *) fina
1d210 6c 69 7a 65 5f 70 65 72 6d 5f 72 70 61 74 68 3d  lize_perm_rpath=
1d220 22 24 66 69 6e 61 6c 69 7a 65 5f 70 65 72 6d 5f  "$finalize_perm_
1d230 72 70 61 74 68 20 24 6c 69 62 64 69 72 22 20 3b  rpath $libdir" ;
1d240 3b 0a 09 20 20 65 73 61 63 0a 09 66 69 0a 20 20  ;..  esac..fi.  
1d250 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 23      done.      #
1d260 20 53 75 62 73 74 69 74 75 74 65 20 74 68 65 20   Substitute the 
1d270 68 61 72 64 63 6f 64 65 64 20 6c 69 62 64 69 72  hardcoded libdir
1d280 73 20 69 6e 74 6f 20 74 68 65 20 72 70 61 74 68  s into the rpath
1d290 2e 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
1d2a0 2d 6e 20 22 24 68 61 72 64 63 6f 64 65 5f 6c 69  -n "$hardcode_li
1d2b0 62 64 69 72 5f 73 65 70 61 72 61 74 6f 72 22 20  bdir_separator" 
1d2c0 26 26 0a 09 20 74 65 73 74 20 2d 6e 20 22 24 68  &&.. test -n "$h
1d2d0 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72 73 22  ardcode_libdirs"
1d2e0 3b 20 74 68 65 6e 0a 09 6c 69 62 64 69 72 3d 22  ; then..libdir="
1d2f0 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
1d300 73 22 0a 09 65 76 61 6c 20 72 70 61 74 68 3d 5c  s"..eval rpath=\
1d310 22 20 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64  " $hardcode_libd
1d320 69 72 5f 66 6c 61 67 5f 73 70 65 63 5c 22 0a 20  ir_flag_spec\". 
1d330 20 20 20 20 20 66 69 0a 20 20 20 20 20 20 66 69       fi.      fi
1d340 6e 61 6c 69 7a 65 5f 72 70 61 74 68 3d 22 24 72  nalize_rpath="$r
1d350 70 61 74 68 22 0a 0a 20 20 20 20 20 20 69 66 20  path"..      if 
1d360 74 65 73 74 20 2d 6e 20 22 24 6c 69 62 6f 62 6a  test -n "$libobj
1d370 73 22 20 26 26 20 74 65 73 74 20 22 24 62 75 69  s" && test "$bui
1d380 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20 3d 20 79  ld_old_libs" = y
1d390 65 73 3b 20 74 68 65 6e 0a 09 23 20 54 72 61 6e  es; then..# Tran
1d3a0 73 66 6f 72 6d 20 61 6c 6c 20 74 68 65 20 6c 69  sform all the li
1d3b0 62 72 61 72 79 20 6f 62 6a 65 63 74 73 20 69 6e  brary objects in
1d3c0 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 62 6a 65  to standard obje
1d3d0 63 74 73 2e 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f  cts...compile_co
1d3e0 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24  mmand=`$echo "X$
1d3f0 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22  compile_command"
1d400 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73 65   | $SP2NL | $Xse
1d410 64 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20 24  d -e "$lo2o" | $
1d420 4e 4c 32 53 50 60 0a 09 66 69 6e 61 6c 69 7a 65  NL2SP`..finalize
1d430 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20  _command=`$echo 
1d440 22 58 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  "X$finalize_comm
1d450 61 6e 64 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20  and" | $SP2NL | 
1d460 24 58 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22  $Xsed -e "$lo2o"
1d470 20 7c 20 24 4e 4c 32 53 50 60 0a 20 20 20 20 20   | $NL2SP`.     
1d480 20 66 69 0a 0a 20 20 20 20 20 20 64 6c 73 79 6d   fi..      dlsym
1d490 73 3d 0a 20 20 20 20 20 20 69 66 20 74 65 73 74  s=.      if test
1d4a0 20 2d 6e 20 22 24 64 6c 66 69 6c 65 73 24 64 6c   -n "$dlfiles$dl
1d4b0 70 72 65 66 69 6c 65 73 22 20 7c 7c 20 74 65 73  prefiles" || tes
1d4c0 74 20 22 24 64 6c 73 65 6c 66 22 20 21 3d 20 6e  t "$dlself" != n
1d4d0 6f 3b 20 74 68 65 6e 0a 09 69 66 20 74 65 73 74  o; then..if test
1d4e0 20 2d 6e 20 22 24 4e 4d 22 20 26 26 20 74 65 73   -n "$NM" && tes
1d4f0 74 20 2d 6e 20 22 24 67 6c 6f 62 61 6c 5f 73 79  t -n "$global_sy
1d500 6d 62 6f 6c 5f 70 69 70 65 22 3b 20 74 68 65 6e  mbol_pipe"; then
1d510 0a 09 20 20 64 6c 73 79 6d 73 3d 22 24 7b 6f 75  ..  dlsyms="${ou
1d520 74 70 75 74 6e 61 6d 65 7d 53 2e 63 22 0a 09 65  tputname}S.c"..e
1d530 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22 24 6d  lse..  $echo "$m
1d540 6f 64 65 6e 61 6d 65 3a 20 6e 6f 74 20 63 6f 6e  odename: not con
1d550 66 69 67 75 72 65 64 20 74 6f 20 65 78 74 72 61  figured to extra
1d560 63 74 20 67 6c 6f 62 61 6c 20 73 79 6d 62 6f 6c  ct global symbol
1d570 73 20 66 72 6f 6d 20 64 6c 70 72 65 6f 70 65 6e  s from dlpreopen
1d580 65 64 20 66 69 6c 65 73 22 20 31 3e 26 32 0a 09  ed files" 1>&2..
1d590 66 69 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  fi.      fi..   
1d5a0 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
1d5b0 64 6c 73 79 6d 73 22 3b 20 74 68 65 6e 0a 09 63  dlsyms"; then..c
1d5c0 61 73 65 20 24 64 6c 73 79 6d 73 20 69 6e 0a 09  ase $dlsyms in..
1d5d0 22 22 29 20 3b 3b 0a 09 2a 2e 63 29 0a 09 20 20  "") ;;..*.c)..  
1d5e0 23 20 44 69 73 63 6f 76 65 72 20 74 68 65 20 6e  # Discover the n
1d5f0 6c 69 73 74 20 6f 66 20 65 61 63 68 20 6f 66 20  list of each of 
1d600 74 68 65 20 64 6c 66 69 6c 65 73 2e 0a 09 20 20  the dlfiles...  
1d610 6e 6c 69 73 74 3d 22 24 6f 75 74 70 75 74 5f 6f  nlist="$output_o
1d620 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61  bjdir/${outputna
1d630 6d 65 7d 2e 6e 6d 22 0a 0a 09 20 20 24 73 68 6f  me}.nm"...  $sho
1d640 77 20 22 24 72 6d 20 24 6e 6c 69 73 74 20 24 7b  w "$rm $nlist ${
1d650 6e 6c 69 73 74 7d 53 20 24 7b 6e 6c 69 73 74 7d  nlist}S ${nlist}
1d660 54 22 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 22  T"..  $run $rm "
1d670 24 6e 6c 69 73 74 22 20 22 24 7b 6e 6c 69 73 74  $nlist" "${nlist
1d680 7d 53 22 20 22 24 7b 6e 6c 69 73 74 7d 54 22 0a  }S" "${nlist}T".
1d690 0a 09 20 20 23 20 50 61 72 73 65 20 74 68 65 20  ..  # Parse the 
1d6a0 6e 61 6d 65 20 6c 69 73 74 20 69 6e 74 6f 20 61  name list into a
1d6b0 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 09 20   source file... 
1d6c0 20 24 73 68 6f 77 20 22 63 72 65 61 74 69 6e 67   $show "creating
1d6d0 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f   $output_objdir/
1d6e0 24 64 6c 73 79 6d 73 22 0a 0a 09 20 20 74 65 73  $dlsyms"...  tes
1d6f0 74 20 2d 7a 20 22 24 72 75 6e 22 20 26 26 20 24  t -z "$run" && $
1d700 65 63 68 6f 20 3e 20 22 24 6f 75 74 70 75 74 5f  echo > "$output_
1d710 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 20  objdir/$dlsyms" 
1d720 22 5c 0a 2f 2a 20 24 64 6c 73 79 6d 73 20 2d 20  "\./* $dlsyms - 
1d730 73 79 6d 62 6f 6c 20 72 65 73 6f 6c 75 74 69 6f  symbol resolutio
1d740 6e 20 74 61 62 6c 65 20 66 6f 72 20 5c 60 24 6f  n table for \`$o
1d750 75 74 70 75 74 6e 61 6d 65 27 20 64 6c 73 79 6d  utputname' dlsym
1d760 20 65 6d 75 6c 61 74 69 6f 6e 2e 20 2a 2f 0a 2f   emulation. */./
1d770 2a 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 24  * Generated by $
1d780 50 52 4f 47 52 41 4d 20 2d 20 47 4e 55 20 24 50  PROGRAM - GNU $P
1d790 41 43 4b 41 47 45 20 24 56 45 52 53 49 4f 4e 24  ACKAGE $VERSION$
1d7a0 54 49 4d 45 53 54 41 4d 50 20 2a 2f 0a 0a 23 69  TIMESTAMP */..#i
1d7b0 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
1d7c0 0a 65 78 74 65 72 6e 20 5c 22 43 5c 22 20 7b 0a  .extern \"C\" {.
1d7d0 23 65 6e 64 69 66 0a 0a 2f 2a 20 50 72 65 76 65  #endif../* Preve
1d7e0 6e 74 20 74 68 65 20 6f 6e 6c 79 20 6b 69 6e 64  nt the only kind
1d7f0 20 6f 66 20 64 65 63 6c 61 72 61 74 69 6f 6e 20   of declaration 
1d800 63 6f 6e 66 6c 69 63 74 73 20 77 65 20 63 61 6e  conflicts we can
1d810 20 6d 61 6b 65 2e 20 2a 2f 0a 23 64 65 66 69 6e   make. */.#defin
1d820 65 20 6c 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73  e lt_preloaded_s
1d830 79 6d 62 6f 6c 73 20 73 6f 6d 65 5f 6f 74 68 65  ymbols some_othe
1d840 72 5f 73 79 6d 62 6f 6c 0a 0a 2f 2a 20 45 78 74  r_symbol../* Ext
1d850 65 72 6e 61 6c 20 73 79 6d 62 6f 6c 20 64 65 63  ernal symbol dec
1d860 6c 61 72 61 74 69 6f 6e 73 20 66 6f 72 20 74 68  larations for th
1d870 65 20 63 6f 6d 70 69 6c 65 72 2e 20 2a 2f 5c 0a  e compiler. */\.
1d880 22 0a 0a 09 20 20 69 66 20 74 65 73 74 20 22 24  "...  if test "$
1d890 64 6c 73 65 6c 66 22 20 3d 20 79 65 73 3b 20 74  dlself" = yes; t
1d8a0 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77 20 22  hen..    $show "
1d8b0 67 65 6e 65 72 61 74 69 6e 67 20 73 79 6d 62 6f  generating symbo
1d8c0 6c 20 6c 69 73 74 20 66 6f 72 20 5c 60 24 6f 75  l list for \`$ou
1d8d0 74 70 75 74 27 22 0a 0a 09 20 20 20 20 74 65 73  tput'"...    tes
1d8e0 74 20 2d 7a 20 22 24 72 75 6e 22 20 26 26 20 24  t -z "$run" && $
1d8f0 65 63 68 6f 20 27 3a 20 40 50 52 4f 47 52 41 4d  echo ': @PROGRAM
1d900 40 20 27 20 3e 20 22 24 6e 6c 69 73 74 22 0a 0a  @ ' > "$nlist"..
1d910 09 20 20 20 20 23 20 41 64 64 20 6f 75 72 20 6f  .    # Add our o
1d920 77 6e 20 70 72 6f 67 72 61 6d 20 6f 62 6a 65 63  wn program objec
1d930 74 73 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c  ts to the symbol
1d940 20 6c 69 73 74 2e 0a 09 20 20 20 20 70 72 6f 67   list...    prog
1d950 66 69 6c 65 73 3d 60 24 65 63 68 6f 20 22 58 24  files=`$echo "X$
1d960 6f 62 6a 73 24 6f 6c 64 5f 64 65 70 6c 69 62 73  objs$old_deplibs
1d970 22 20 7c 20 24 53 50 32 4e 4c 20 7c 20 24 58 73  " | $SP2NL | $Xs
1d980 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 20 7c 20  ed -e "$lo2o" | 
1d990 24 4e 4c 32 53 50 60 0a 09 20 20 20 20 66 6f 72  $NL2SP`..    for
1d9a0 20 61 72 67 20 69 6e 20 24 70 72 6f 67 66 69 6c   arg in $progfil
1d9b0 65 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 24 73  es; do..      $s
1d9c0 68 6f 77 20 22 65 78 74 72 61 63 74 69 6e 67 20  how "extracting 
1d9d0 67 6c 6f 62 61 6c 20 43 20 73 79 6d 62 6f 6c 73  global C symbols
1d9e0 20 66 72 6f 6d 20 5c 60 24 61 72 67 27 22 0a 09   from \`$arg'"..
1d9f0 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
1da00 22 24 4e 4d 20 24 61 72 67 20 7c 20 24 67 6c 6f  "$NM $arg | $glo
1da10 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 20  bal_symbol_pipe 
1da20 3e 3e 20 27 24 6e 6c 69 73 74 27 22 0a 09 20 20  >> '$nlist'"..  
1da30 20 20 64 6f 6e 65 0a 0a 09 20 20 20 20 69 66 20    done...    if 
1da40 74 65 73 74 20 2d 6e 20 22 24 65 78 63 6c 75 64  test -n "$exclud
1da50 65 5f 65 78 70 73 79 6d 73 22 3b 20 74 68 65 6e  e_expsyms"; then
1da60 0a 09 20 20 20 20 20 20 24 72 75 6e 20 65 76 61  ..      $run eva
1da70 6c 20 27 24 45 47 52 45 50 20 2d 76 20 22 20 28  l '$EGREP -v " (
1da80 24 65 78 63 6c 75 64 65 5f 65 78 70 73 79 6d 73  $exclude_expsyms
1da90 29 24 22 20 22 24 6e 6c 69 73 74 22 20 3e 20 22  )$" "$nlist" > "
1daa0 24 6e 6c 69 73 74 22 54 27 0a 09 20 20 20 20 20  $nlist"T'..     
1dab0 20 24 72 75 6e 20 65 76 61 6c 20 27 24 6d 76 20   $run eval '$mv 
1dac0 22 24 6e 6c 69 73 74 22 54 20 22 24 6e 6c 69 73  "$nlist"T "$nlis
1dad0 74 22 27 0a 09 20 20 20 20 66 69 0a 0a 09 20 20  t"'..    fi...  
1dae0 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 65    if test -n "$e
1daf0 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 5f 72 65  xport_symbols_re
1db00 67 65 78 22 3b 20 74 68 65 6e 0a 09 20 20 20 20  gex"; then..    
1db10 20 20 24 72 75 6e 20 65 76 61 6c 20 27 24 45 47    $run eval '$EG
1db20 52 45 50 20 2d 65 20 22 24 65 78 70 6f 72 74 5f  REP -e "$export_
1db30 73 79 6d 62 6f 6c 73 5f 72 65 67 65 78 22 20 22  symbols_regex" "
1db40 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c 69 73  $nlist" > "$nlis
1db50 74 22 54 27 0a 09 20 20 20 20 20 20 24 72 75 6e  t"T'..      $run
1db60 20 65 76 61 6c 20 27 24 6d 76 20 22 24 6e 6c 69   eval '$mv "$nli
1db70 73 74 22 54 20 22 24 6e 6c 69 73 74 22 27 0a 09  st"T "$nlist"'..
1db80 20 20 20 20 66 69 0a 0a 09 20 20 20 20 23 20 50      fi...    # P
1db90 72 65 70 61 72 65 20 74 68 65 20 6c 69 73 74 20  repare the list 
1dba0 6f 66 20 65 78 70 6f 72 74 65 64 20 73 79 6d 62  of exported symb
1dbb0 6f 6c 73 0a 09 20 20 20 20 69 66 20 74 65 73 74  ols..    if test
1dbc0 20 2d 7a 20 22 24 65 78 70 6f 72 74 5f 73 79 6d   -z "$export_sym
1dbd0 62 6f 6c 73 22 3b 20 74 68 65 6e 0a 09 20 20 20  bols"; then..   
1dbe0 20 20 20 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c     export_symbol
1dbf0 73 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  s="$output_objdi
1dc00 72 2f 24 6f 75 74 70 75 74 2e 65 78 70 22 0a 09  r/$output.exp"..
1dc10 20 20 20 20 20 20 24 72 75 6e 20 24 72 6d 20 24        $run $rm $
1dc20 65 78 70 6f 72 74 5f 73 79 6d 62 6f 6c 73 0a 09  export_symbols..
1dc30 20 20 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20        $run eval 
1dc40 22 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 2f  "${SED} -n -e '/
1dc50 5e 3a 20 40 50 52 4f 47 52 41 4d 40 24 2f 64 27  ^: @PROGRAM@$/d'
1dc60 20 2d 65 20 27 73 2f 5e 2e 2a 20 5c 28 2e 2a 5c   -e 's/^.* \(.*\
1dc70 29 24 2f 5c 31 2f 70 27 20 22 27 3c 20 22 24 6e  )$/\1/p' "'< "$n
1dc80 6c 69 73 74 22 20 3e 20 22 24 65 78 70 6f 72 74  list" > "$export
1dc90 5f 73 79 6d 62 6f 6c 73 22 27 0a 09 20 20 20 20  _symbols"'..    
1dca0 65 6c 73 65 0a 09 20 20 20 20 20 20 24 72 75 6e  else..      $run
1dcb0 20 65 76 61 6c 20 22 24 7b 53 45 44 7d 20 2d 65   eval "${SED} -e
1dcc0 20 27 73 2f 5c 28 5b 5d 5b 2e 2a 5e 24 5d 5c 29   's/\([][.*^$]\)
1dcd0 2f 5c 5c 5c 31 2f 67 27 20 2d 65 20 27 73 2f 5e  /\\\1/g' -e 's/^
1dce0 2f 20 2f 27 20 2d 65 20 27 73 2f 24 2f 24 2f 27  / /' -e 's/$/$/'
1dcf0 22 27 20 3c 20 22 24 65 78 70 6f 72 74 5f 73 79  "' < "$export_sy
1dd00 6d 62 6f 6c 73 22 20 3e 20 22 24 6f 75 74 70 75  mbols" > "$outpu
1dd10 74 5f 6f 62 6a 64 69 72 2f 24 6f 75 74 70 75 74  t_objdir/$output
1dd20 2e 65 78 70 22 27 0a 09 20 20 20 20 20 20 24 72  .exp"'..      $r
1dd30 75 6e 20 65 76 61 6c 20 27 67 72 65 70 20 2d 66  un eval 'grep -f
1dd40 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72   "$output_objdir
1dd50 2f 24 6f 75 74 70 75 74 2e 65 78 70 22 20 3c 20  /$output.exp" < 
1dd60 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e 6c 69  "$nlist" > "$nli
1dd70 73 74 22 54 27 0a 09 20 20 20 20 20 20 24 72 75  st"T'..      $ru
1dd80 6e 20 65 76 61 6c 20 27 6d 76 20 22 24 6e 6c 69  n eval 'mv "$nli
1dd90 73 74 22 54 20 22 24 6e 6c 69 73 74 22 27 0a 09  st"T "$nlist"'..
1dda0 20 20 20 20 66 69 0a 09 20 20 66 69 0a 0a 09 20      fi..  fi... 
1ddb0 20 66 6f 72 20 61 72 67 20 69 6e 20 24 64 6c 70   for arg in $dlp
1ddc0 72 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20  refiles; do..   
1ddd0 20 24 73 68 6f 77 20 22 65 78 74 72 61 63 74 69   $show "extracti
1dde0 6e 67 20 67 6c 6f 62 61 6c 20 43 20 73 79 6d 62  ng global C symb
1ddf0 6f 6c 73 20 66 72 6f 6d 20 5c 60 24 61 72 67 27  ols from \`$arg'
1de00 22 0a 09 20 20 20 20 6e 61 6d 65 3d 60 24 65 63  "..    name=`$ec
1de10 68 6f 20 22 24 61 72 67 22 20 7c 20 24 7b 53 45  ho "$arg" | ${SE
1de20 44 7d 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27  D} -e 's%^.*/%%'
1de30 60 0a 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c  `..    $run eval
1de40 20 27 24 65 63 68 6f 20 22 3a 20 24 6e 61 6d 65   '$echo ": $name
1de50 20 22 20 3e 3e 20 22 24 6e 6c 69 73 74 22 27 0a   " >> "$nlist"'.
1de60 09 20 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22  .    $run eval "
1de70 24 4e 4d 20 24 61 72 67 20 7c 20 24 67 6c 6f 62  $NM $arg | $glob
1de80 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69 70 65 20 3e  al_symbol_pipe >
1de90 3e 20 27 24 6e 6c 69 73 74 27 22 0a 09 20 20 64  > '$nlist'"..  d
1dea0 6f 6e 65 0a 0a 09 20 20 69 66 20 74 65 73 74 20  one...  if test 
1deb0 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a  -z "$run"; then.
1dec0 09 20 20 20 20 23 20 4d 61 6b 65 20 73 75 72 65  .    # Make sure
1ded0 20 77 65 20 68 61 76 65 20 61 74 20 6c 65 61 73   we have at leas
1dee0 74 20 61 6e 20 65 6d 70 74 79 20 66 69 6c 65 2e  t an empty file.
1def0 0a 09 20 20 20 20 74 65 73 74 20 2d 66 20 22 24  ..    test -f "$
1df00 6e 6c 69 73 74 22 20 7c 7c 20 3a 20 3e 20 22 24  nlist" || : > "$
1df10 6e 6c 69 73 74 22 0a 0a 09 20 20 20 20 69 66 20  nlist"...    if 
1df20 74 65 73 74 20 2d 6e 20 22 24 65 78 63 6c 75 64  test -n "$exclud
1df30 65 5f 65 78 70 73 79 6d 73 22 3b 20 74 68 65 6e  e_expsyms"; then
1df40 0a 09 20 20 20 20 20 20 24 45 47 52 45 50 20 2d  ..      $EGREP -
1df50 76 20 22 20 28 24 65 78 63 6c 75 64 65 5f 65 78  v " ($exclude_ex
1df60 70 73 79 6d 73 29 24 22 20 22 24 6e 6c 69 73 74  psyms)$" "$nlist
1df70 22 20 3e 20 22 24 6e 6c 69 73 74 22 54 0a 09 20  " > "$nlist"T.. 
1df80 20 20 20 20 20 24 6d 76 20 22 24 6e 6c 69 73 74       $mv "$nlist
1df90 22 54 20 22 24 6e 6c 69 73 74 22 0a 09 20 20 20  "T "$nlist"..   
1dfa0 20 66 69 0a 0a 09 20 20 20 20 23 20 54 72 79 20   fi...    # Try 
1dfb0 73 6f 72 74 69 6e 67 20 61 6e 64 20 75 6e 69 71  sorting and uniq
1dfc0 75 69 66 79 69 6e 67 20 74 68 65 20 6f 75 74 70  uifying the outp
1dfd0 75 74 2e 0a 09 20 20 20 20 69 66 20 67 72 65 70  ut...    if grep
1dfe0 20 2d 76 20 22 5e 3a 20 22 20 3c 20 22 24 6e 6c   -v "^: " < "$nl
1dff0 69 73 74 22 20 7c 0a 09 09 69 66 20 73 6f 72 74  ist" |...if sort
1e000 20 2d 6b 20 33 20 3c 2f 64 65 76 2f 6e 75 6c 6c   -k 3 </dev/null
1e010 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31   >/dev/null 2>&1
1e020 3b 20 74 68 65 6e 0a 09 09 20 20 73 6f 72 74 20  ; then...  sort 
1e030 2d 6b 20 33 0a 09 09 65 6c 73 65 0a 09 09 20 20  -k 3...else...  
1e040 73 6f 72 74 20 2b 32 0a 09 09 66 69 20 7c 0a 09  sort +2...fi |..
1e050 09 75 6e 69 71 20 3e 20 22 24 6e 6c 69 73 74 22  .uniq > "$nlist"
1e060 53 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20 3a  S; then..      :
1e070 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20  ..    else..    
1e080 20 20 67 72 65 70 20 2d 76 20 22 5e 3a 20 22 20    grep -v "^: " 
1e090 3c 20 22 24 6e 6c 69 73 74 22 20 3e 20 22 24 6e  < "$nlist" > "$n
1e0a0 6c 69 73 74 22 53 0a 09 20 20 20 20 66 69 0a 0a  list"S..    fi..
1e0b0 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 66 20  .    if test -f 
1e0c0 22 24 6e 6c 69 73 74 22 53 3b 20 74 68 65 6e 0a  "$nlist"S; then.
1e0d0 09 20 20 20 20 20 20 65 76 61 6c 20 22 24 67 6c  .      eval "$gl
1e0e0 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 74 6f 5f 63  obal_symbol_to_c
1e0f0 64 65 63 6c 22 27 20 3c 20 22 24 6e 6c 69 73 74  decl"' < "$nlist
1e100 22 53 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f  "S >> "$output_o
1e110 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 27 0a  bjdir/$dlsyms"'.
1e120 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20 20 20  .    else..     
1e130 20 24 65 63 68 6f 20 27 2f 2a 20 4e 4f 4e 45 20   $echo '/* NONE 
1e140 2a 2f 27 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f  */' >> "$output_
1e150 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a  objdir/$dlsyms".
1e160 09 20 20 20 20 66 69 0a 0a 09 20 20 20 20 24 65  .    fi...    $e
1e170 63 68 6f 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f  cho >> "$output_
1e180 6f 62 6a 64 69 72 2f 24 64 6c 73 79 6d 73 22 20  objdir/$dlsyms" 
1e190 22 5c 0a 0a 23 75 6e 64 65 66 20 6c 74 5f 70 72  "\..#undef lt_pr
1e1a0 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 0a  eloaded_symbols.
1e1b0 0a 23 69 66 20 64 65 66 69 6e 65 64 20 28 5f 5f  .#if defined (__
1e1c0 53 54 44 43 5f 5f 29 20 26 26 20 5f 5f 53 54 44  STDC__) && __STD
1e1d0 43 5f 5f 0a 23 20 64 65 66 69 6e 65 20 6c 74 5f  C__.# define lt_
1e1e0 70 74 72 20 76 6f 69 64 20 2a 0a 23 65 6c 73 65  ptr void *.#else
1e1f0 0a 23 20 64 65 66 69 6e 65 20 6c 74 5f 70 74 72  .# define lt_ptr
1e200 20 63 68 61 72 20 2a 0a 23 20 64 65 66 69 6e 65   char *.# define
1e210 20 63 6f 6e 73 74 0a 23 65 6e 64 69 66 0a 0a 2f   const.#endif../
1e220 2a 20 54 68 65 20 6d 61 70 70 69 6e 67 20 62 65  * The mapping be
1e230 74 77 65 65 6e 20 73 79 6d 62 6f 6c 20 6e 61 6d  tween symbol nam
1e240 65 73 20 61 6e 64 20 73 79 6d 62 6f 6c 73 2e 20  es and symbols. 
1e250 2a 2f 0a 63 6f 6e 73 74 20 73 74 72 75 63 74 20  */.const struct 
1e260 7b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a  {.  const char *
1e270 6e 61 6d 65 3b 0a 20 20 6c 74 5f 70 74 72 20 61  name;.  lt_ptr a
1e280 64 64 72 65 73 73 3b 0a 7d 0a 6c 74 5f 70 72 65  ddress;.}.lt_pre
1e290 6c 6f 61 64 65 64 5f 73 79 6d 62 6f 6c 73 5b 5d  loaded_symbols[]
1e2a0 20 3d 0a 7b 5c 0a 22 0a 0a 09 20 20 20 20 65 76   =.{\."...    ev
1e2b0 61 6c 20 22 24 67 6c 6f 62 61 6c 5f 73 79 6d 62  al "$global_symb
1e2c0 6f 6c 5f 74 6f 5f 63 5f 6e 61 6d 65 5f 61 64 64  ol_to_c_name_add
1e2d0 72 65 73 73 22 20 3c 20 22 24 6e 6c 69 73 74 22  ress" < "$nlist"
1e2e0 20 3e 3e 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a   >> "$output_obj
1e2f0 64 69 72 2f 24 64 6c 73 79 6d 73 22 0a 0a 09 20  dir/$dlsyms"... 
1e300 20 20 20 24 65 63 68 6f 20 3e 3e 20 22 24 6f 75     $echo >> "$ou
1e310 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64 6c 73  tput_objdir/$dls
1e320 79 6d 73 22 20 22 5c 0a 20 20 7b 30 2c 20 28 6c  yms" "\.  {0, (l
1e330 74 5f 70 74 72 29 20 30 7d 0a 7d 3b 0a 0a 2f 2a  t_ptr) 0}.};../*
1e340 20 54 68 69 73 20 77 6f 72 6b 73 20 61 72 6f 75   This works arou
1e350 6e 64 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 20  nd a problem in 
1e360 46 72 65 65 42 53 44 20 6c 69 6e 6b 65 72 20 2a  FreeBSD linker *
1e370 2f 0a 23 69 66 64 65 66 20 46 52 45 45 42 53 44  /.#ifdef FREEBSD
1e380 5f 57 4f 52 4b 41 52 4f 55 4e 44 0a 73 74 61 74  _WORKAROUND.stat
1e390 69 63 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6c  ic const void *l
1e3a0 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73 65 74 75  t_preloaded_setu
1e3b0 70 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 6c  p() {.  return l
1e3c0 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73 79 6d 62  t_preloaded_symb
1e3d0 6f 6c 73 3b 0a 7d 0a 23 65 6e 64 69 66 0a 0a 23  ols;.}.#endif..#
1e3e0 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75  ifdef __cplusplu
1e3f0 73 0a 7d 0a 23 65 6e 64 69 66 5c 0a 22 0a 09 20  s.}.#endif\.".. 
1e400 20 66 69 0a 0a 09 20 20 70 69 63 5f 66 6c 61 67   fi...  pic_flag
1e410 5f 66 6f 72 5f 73 79 6d 74 61 62 6c 65 3d 0a 09  _for_symtable=..
1e420 20 20 63 61 73 65 20 24 68 6f 73 74 20 69 6e 0a    case $host in.
1e430 09 20 20 23 20 63 6f 6d 70 69 6c 69 6e 67 20 74  .  # compiling t
1e440 68 65 20 73 79 6d 62 6f 6c 20 74 61 62 6c 65 20  he symbol table 
1e450 66 69 6c 65 20 77 69 74 68 20 70 69 63 5f 66 6c  file with pic_fl
1e460 61 67 20 77 6f 72 6b 73 20 61 72 6f 75 6e 64 0a  ag works around.
1e470 09 20 20 23 20 61 20 46 72 65 65 42 53 44 20 62  .  # a FreeBSD b
1e480 75 67 20 74 68 61 74 20 63 61 75 73 65 73 20 70  ug that causes p
1e490 72 6f 67 72 61 6d 73 20 74 6f 20 63 72 61 73 68  rograms to crash
1e4a0 20 77 68 65 6e 20 2d 6c 6d 20 69 73 0a 09 20 20   when -lm is..  
1e4b0 23 20 6c 69 6e 6b 65 64 20 62 65 66 6f 72 65 20  # linked before 
1e4c0 61 6e 79 20 6f 74 68 65 72 20 50 49 43 20 6f 62  any other PIC ob
1e4d0 6a 65 63 74 2e 20 20 42 75 74 20 77 65 20 6d 75  ject.  But we mu
1e4e0 73 74 20 6e 6f 74 20 75 73 65 0a 09 20 20 23 20  st not use..  # 
1e4f0 70 69 63 5f 66 6c 61 67 20 77 68 65 6e 20 6c 69  pic_flag when li
1e500 6e 6b 69 6e 67 20 77 69 74 68 20 2d 73 74 61 74  nking with -stat
1e510 69 63 2e 20 20 54 68 65 20 70 72 6f 62 6c 65 6d  ic.  The problem
1e520 20 65 78 69 73 74 73 20 69 6e 0a 09 20 20 23 20   exists in..  # 
1e530 46 72 65 65 42 53 44 20 32 2e 32 2e 36 20 61 6e  FreeBSD 2.2.6 an
1e540 64 20 69 73 20 66 69 78 65 64 20 69 6e 20 46 72  d is fixed in Fr
1e550 65 65 42 53 44 20 33 2e 31 2e 0a 09 20 20 2a 2d  eeBSD 3.1...  *-
1e560 2a 2d 66 72 65 65 62 73 64 32 2a 7c 2a 2d 2a 2d  *-freebsd2*|*-*-
1e570 66 72 65 65 62 73 64 33 2e 30 2a 7c 2a 2d 2a 2d  freebsd3.0*|*-*-
1e580 66 72 65 65 62 73 64 65 6c 66 33 2e 30 2a 29 0a  freebsdelf3.0*).
1e590 09 20 20 20 20 63 61 73 65 20 22 24 63 6f 6d 70  .    case "$comp
1e5a0 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20 22 20 69 6e  ile_command " in
1e5b0 0a 09 20 20 20 20 2a 22 20 2d 73 74 61 74 69 63  ..    *" -static
1e5c0 20 22 2a 29 20 3b 3b 0a 09 20 20 20 20 2a 29 20   "*) ;;..    *) 
1e5d0 70 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d  pic_flag_for_sym
1e5e0 74 61 62 6c 65 3d 22 20 24 70 69 63 5f 66 6c 61  table=" $pic_fla
1e5f0 67 20 2d 44 46 52 45 45 42 53 44 5f 57 4f 52 4b  g -DFREEBSD_WORK
1e600 41 52 4f 55 4e 44 22 3b 3b 0a 09 20 20 20 20 65  AROUND";;..    e
1e610 73 61 63 3b 3b 0a 09 20 20 2a 2d 2a 2d 68 70 75  sac;;..  *-*-hpu
1e620 78 2a 29 0a 09 20 20 20 20 63 61 73 65 20 22 24  x*)..    case "$
1e630 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 20  compile_command 
1e640 22 20 69 6e 0a 09 20 20 20 20 2a 22 20 2d 73 74  " in..    *" -st
1e650 61 74 69 63 20 22 2a 29 20 3b 3b 0a 09 20 20 20  atic "*) ;;..   
1e660 20 2a 29 20 70 69 63 5f 66 6c 61 67 5f 66 6f 72   *) pic_flag_for
1e670 5f 73 79 6d 74 61 62 6c 65 3d 22 20 24 70 69 63  _symtable=" $pic
1e680 5f 66 6c 61 67 22 3b 3b 0a 09 20 20 20 20 65 73  _flag";;..    es
1e690 61 63 0a 09 20 20 65 73 61 63 0a 0a 09 20 20 23  ac..  esac...  #
1e6a0 20 4e 6f 77 20 63 6f 6d 70 69 6c 65 20 74 68 65   Now compile the
1e6b0 20 64 79 6e 61 6d 69 63 20 73 79 6d 62 6f 6c 20   dynamic symbol 
1e6c0 66 69 6c 65 2e 0a 09 20 20 24 73 68 6f 77 20 22  file...  $show "
1e6d0 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64  (cd $output_objd
1e6e0 69 72 20 26 26 20 24 4c 54 43 43 20 2d 63 24 6e  ir && $LTCC -c$n
1e6f0 6f 5f 62 75 69 6c 74 69 6e 5f 66 6c 61 67 24 70  o_builtin_flag$p
1e700 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d 74  ic_flag_for_symt
1e710 61 62 6c 65 20 5c 22 24 64 6c 73 79 6d 73 5c 22  able \"$dlsyms\"
1e720 29 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20  )"..  $run eval 
1e730 27 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a  '(cd $output_obj
1e740 64 69 72 20 26 26 20 24 4c 54 43 43 20 2d 63 24  dir && $LTCC -c$
1e750 6e 6f 5f 62 75 69 6c 74 69 6e 5f 66 6c 61 67 24  no_builtin_flag$
1e760 70 69 63 5f 66 6c 61 67 5f 66 6f 72 5f 73 79 6d  pic_flag_for_sym
1e770 74 61 62 6c 65 20 22 24 64 6c 73 79 6d 73 22 29  table "$dlsyms")
1e780 27 20 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09 20  ' || exit $?... 
1e790 20 23 20 43 6c 65 61 6e 20 75 70 20 74 68 65 20   # Clean up the 
1e7a0 67 65 6e 65 72 61 74 65 64 20 66 69 6c 65 73 2e  generated files.
1e7b0 0a 09 20 20 24 73 68 6f 77 20 22 24 72 6d 20 24  ..  $show "$rm $
1e7c0 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64  output_objdir/$d
1e7d0 6c 73 79 6d 73 20 24 6e 6c 69 73 74 20 24 7b 6e  lsyms $nlist ${n
1e7e0 6c 69 73 74 7d 53 20 24 7b 6e 6c 69 73 74 7d 54  list}S ${nlist}T
1e7f0 22 0a 09 20 20 24 72 75 6e 20 24 72 6d 20 22 24  "..  $run $rm "$
1e800 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 64  output_objdir/$d
1e810 6c 73 79 6d 73 22 20 22 24 6e 6c 69 73 74 22 20  lsyms" "$nlist" 
1e820 22 24 7b 6e 6c 69 73 74 7d 53 22 20 22 24 7b 6e  "${nlist}S" "${n
1e830 6c 69 73 74 7d 54 22 0a 0a 09 20 20 23 20 54 72  list}T"...  # Tr
1e840 61 6e 73 66 6f 72 6d 20 74 68 65 20 73 79 6d 62  ansform the symb
1e850 6f 6c 20 66 69 6c 65 20 69 6e 74 6f 20 74 68 65  ol file into the
1e860 20 63 6f 72 72 65 63 74 20 6e 61 6d 65 2e 0a 09   correct name...
1e870 20 20 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e    compile_comman
1e880 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70  d=`$echo "X$comp
1e890 69 6c 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ile_command" | $
1e8a0 58 73 65 64 20 2d 65 20 22 73 25 40 53 59 4d 46  Xsed -e "s%@SYMF
1e8b0 49 4c 45 40 25 24 6f 75 74 70 75 74 5f 6f 62 6a  ILE@%$output_obj
1e8c0 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65  dir/${outputname
1e8d0 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 25 22 60 0a  }S.${objext}%"`.
1e8e0 09 20 20 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  .  finalize_comm
1e8f0 61 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 66 69  and=`$echo "X$fi
1e900 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 22 20  nalize_command" 
1e910 7c 20 24 58 73 65 64 20 2d 65 20 22 73 25 40 53  | $Xsed -e "s%@S
1e920 59 4d 46 49 4c 45 40 25 24 6f 75 74 70 75 74 5f  YMFILE@%$output_
1e930 6f 62 6a 64 69 72 2f 24 7b 6f 75 74 70 75 74 6e  objdir/${outputn
1e940 61 6d 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 25  ame}S.${objext}%
1e950 22 60 0a 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20  "`..  ;;..*)..  
1e960 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1e970 3a 20 75 6e 6b 6e 6f 77 6e 20 73 75 66 66 69 78  : unknown suffix
1e980 20 66 6f 72 20 5c 60 24 64 6c 73 79 6d 73 27 22   for \`$dlsyms'"
1e990 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20 31 0a   1>&2..  exit 1.
1e9a0 09 20 20 3b 3b 0a 09 65 73 61 63 0a 20 20 20 20  .  ;;..esac.    
1e9b0 20 20 65 6c 73 65 0a 09 23 20 57 65 20 6b 65 65    else..# We kee
1e9c0 70 20 67 6f 69 6e 67 20 6a 75 73 74 20 69 6e 20  p going just in 
1e9d0 63 61 73 65 20 74 68 65 20 75 73 65 72 20 64 69  case the user di
1e9e0 64 6e 27 74 20 72 65 66 65 72 20 74 6f 0a 09 23  dn't refer to..#
1e9f0 20 6c 74 5f 70 72 65 6c 6f 61 64 65 64 5f 73 79   lt_preloaded_sy
1ea00 6d 62 6f 6c 73 2e 20 20 54 68 65 20 6c 69 6e 6b  mbols.  The link
1ea10 65 72 20 77 69 6c 6c 20 66 61 69 6c 20 69 66 20  er will fail if 
1ea20 67 6c 6f 62 61 6c 5f 73 79 6d 62 6f 6c 5f 70 69  global_symbol_pi
1ea30 70 65 0a 09 23 20 72 65 61 6c 6c 79 20 77 61 73  pe..# really was
1ea40 20 72 65 71 75 69 72 65 64 2e 0a 0a 09 23 20 4e   required....# N
1ea50 75 6c 6c 69 66 79 20 74 68 65 20 73 79 6d 62 6f  ullify the symbo
1ea60 6c 20 66 69 6c 65 2e 0a 09 63 6f 6d 70 69 6c 65  l file...compile
1ea70 5f 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20  _command=`$echo 
1ea80 22 58 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61  "X$compile_comma
1ea90 6e 64 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22  nd" | $Xsed -e "
1eaa0 73 25 20 40 53 59 4d 46 49 4c 45 40 25 25 22 60  s% @SYMFILE@%%"`
1eab0 0a 09 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  ..finalize_comma
1eac0 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6e  nd=`$echo "X$fin
1ead0 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e 64 22 20 7c  alize_command" |
1eae0 20 24 58 73 65 64 20 2d 65 20 22 73 25 20 40 53   $Xsed -e "s% @S
1eaf0 59 4d 46 49 4c 45 40 25 25 22 60 0a 20 20 20 20  YMFILE@%%"`.    
1eb00 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
1eb10 65 73 74 20 22 24 6e 65 65 64 5f 72 65 6c 69 6e  est "$need_relin
1eb20 6b 22 20 3d 20 6e 6f 20 7c 7c 20 74 65 73 74 20  k" = no || test 
1eb30 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f  "$build_libtool_
1eb40 6c 69 62 73 22 20 21 3d 20 79 65 73 3b 20 74 68  libs" != yes; th
1eb50 65 6e 0a 09 23 20 52 65 70 6c 61 63 65 20 74 68  en..# Replace th
1eb60 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 73 70  e output file sp
1eb70 65 63 69 66 69 63 61 74 69 6f 6e 2e 0a 09 63 6f  ecification...co
1eb80 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 3d 60 24  mpile_command=`$
1eb90 65 63 68 6f 20 22 58 24 63 6f 6d 70 69 6c 65 5f  echo "X$compile_
1eba0 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64  command" | $Xsed
1ebb0 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54 40 25   -e 's%@OUTPUT@%
1ebc0 27 22 24 6f 75 74 70 75 74 22 27 25 67 27 60 0a  '"$output"'%g'`.
1ebd0 09 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24  .link_command="$
1ebe0 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24  compile_command$
1ebf0 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 22 0a 0a  compile_rpath"..
1ec00 09 23 20 57 65 20 68 61 76 65 20 6e 6f 20 75 6e  .# We have no un
1ec10 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72  installed librar
1ec20 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20  y dependencies, 
1ec30 73 6f 20 66 69 6e 61 6c 69 7a 65 20 72 69 67 68  so finalize righ
1ec40 74 20 6e 6f 77 2e 0a 09 24 73 68 6f 77 20 22 24  t now...$show "$
1ec50 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a 09 24  link_command"..$
1ec60 72 75 6e 20 65 76 61 6c 20 22 24 6c 69 6e 6b 5f  run eval "$link_
1ec70 63 6f 6d 6d 61 6e 64 22 0a 09 73 74 61 74 75 73  command"..status
1ec80 3d 24 3f 0a 0a 09 23 20 44 65 6c 65 74 65 20 74  =$?...# Delete t
1ec90 68 65 20 67 65 6e 65 72 61 74 65 64 20 66 69 6c  he generated fil
1eca0 65 73 2e 0a 09 69 66 20 74 65 73 74 20 2d 6e 20  es...if test -n 
1ecb0 22 24 64 6c 73 79 6d 73 22 3b 20 74 68 65 6e 0a  "$dlsyms"; then.
1ecc0 09 20 20 24 73 68 6f 77 20 22 24 72 6d 20 24 6f  .  $show "$rm $o
1ecd0 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f 24 7b 6f  utput_objdir/${o
1ece0 75 74 70 75 74 6e 61 6d 65 7d 53 2e 24 7b 6f 62  utputname}S.${ob
1ecf0 6a 65 78 74 7d 22 0a 09 20 20 24 72 75 6e 20 24  jext}"..  $run $
1ed00 72 6d 20 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64  rm "$output_objd
1ed10 69 72 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d  ir/${outputname}
1ed20 53 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a 09 66 69  S.${objext}"..fi
1ed30 0a 0a 09 65 78 69 74 20 24 73 74 61 74 75 73 0a  ...exit $status.
1ed40 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
1ed50 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c  if test -n "$shl
1ed60 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65  ibpath_var"; the
1ed70 6e 0a 09 23 20 57 65 20 73 68 6f 75 6c 64 20 73  n..# We should s
1ed80 65 74 20 74 68 65 20 73 68 6c 69 62 70 61 74 68  et the shlibpath
1ed90 5f 76 61 72 0a 09 72 70 61 74 68 3d 0a 09 66 6f  _var..rpath=..fo
1eda0 72 20 64 69 72 20 69 6e 20 24 74 65 6d 70 5f 72  r dir in $temp_r
1edb0 70 61 74 68 3b 20 64 6f 0a 09 20 20 63 61 73 65  path; do..  case
1edc0 20 24 64 69 72 20 69 6e 0a 09 20 20 5b 5c 5c 2f   $dir in..  [\\/
1edd0 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c  ]* | [A-Za-z]:[\
1ede0 5c 2f 5d 2a 29 0a 09 20 20 20 20 23 20 41 62 73  \/]*)..    # Abs
1edf0 6f 6c 75 74 65 20 70 61 74 68 2e 0a 09 20 20 20  olute path...   
1ee00 20 72 70 61 74 68 3d 22 24 72 70 61 74 68 24 64   rpath="$rpath$d
1ee10 69 72 3a 22 0a 09 20 20 20 20 3b 3b 0a 09 20 20  ir:"..    ;;..  
1ee20 2a 29 0a 09 20 20 20 20 23 20 52 65 6c 61 74 69  *)..    # Relati
1ee30 76 65 20 70 61 74 68 3a 20 61 64 64 20 61 20 74  ve path: add a t
1ee40 68 69 73 64 69 72 20 65 6e 74 72 79 2e 0a 09 20  hisdir entry... 
1ee50 20 20 20 72 70 61 74 68 3d 22 24 72 70 61 74 68     rpath="$rpath
1ee60 5c 24 74 68 69 73 64 69 72 2f 24 64 69 72 3a 22  \$thisdir/$dir:"
1ee70 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63  ..    ;;..  esac
1ee80 0a 09 64 6f 6e 65 0a 09 74 65 6d 70 5f 72 70 61  ..done..temp_rpa
1ee90 74 68 3d 22 24 72 70 61 74 68 22 0a 20 20 20 20  th="$rpath".    
1eea0 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20 74    fi..      if t
1eeb0 65 73 74 20 2d 6e 20 22 24 63 6f 6d 70 69 6c 65  est -n "$compile
1eec0 5f 73 68 6c 69 62 70 61 74 68 24 66 69 6e 61 6c  _shlibpath$final
1eed0 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 22 3b 20  ize_shlibpath"; 
1eee0 74 68 65 6e 0a 09 63 6f 6d 70 69 6c 65 5f 63 6f  then..compile_co
1eef0 6d 6d 61 6e 64 3d 22 24 73 68 6c 69 62 70 61 74  mmand="$shlibpat
1ef00 68 5f 76 61 72 3d 5c 22 24 63 6f 6d 70 69 6c 65  h_var=\"$compile
1ef10 5f 73 68 6c 69 62 70 61 74 68 24 66 69 6e 61 6c  _shlibpath$final
1ef20 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 5c 24 24  ize_shlibpath\$$
1ef30 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22 20  shlibpath_var\" 
1ef40 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
1ef50 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 20  ".      fi.     
1ef60 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 66 69   if test -n "$fi
1ef70 6e 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68  nalize_shlibpath
1ef80 22 3b 20 74 68 65 6e 0a 09 66 69 6e 61 6c 69 7a  "; then..finaliz
1ef90 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 73 68 6c 69  e_command="$shli
1efa0 62 70 61 74 68 5f 76 61 72 3d 5c 22 24 66 69 6e  bpath_var=\"$fin
1efb0 61 6c 69 7a 65 5f 73 68 6c 69 62 70 61 74 68 5c  alize_shlibpath\
1efc0 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c  $$shlibpath_var\
1efd0 22 20 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d  " $finalize_comm
1efe0 61 6e 64 22 0a 20 20 20 20 20 20 66 69 0a 0a 20  and".      fi.. 
1eff0 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 76 61 72       compile_var
1f000 3d 0a 20 20 20 20 20 20 66 69 6e 61 6c 69 7a 65  =.      finalize
1f010 5f 76 61 72 3d 0a 20 20 20 20 20 20 69 66 20 74  _var=.      if t
1f020 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74 68  est -n "$runpath
1f030 5f 76 61 72 22 3b 20 74 68 65 6e 0a 09 69 66 20  _var"; then..if 
1f040 74 65 73 74 20 2d 6e 20 22 24 70 65 72 6d 5f 72  test -n "$perm_r
1f050 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20 23  path"; then..  #
1f060 20 57 65 20 73 68 6f 75 6c 64 20 73 65 74 20 74   We should set t
1f070 68 65 20 72 75 6e 70 61 74 68 5f 76 61 72 2e 0a  he runpath_var..
1f080 09 20 20 72 70 61 74 68 3d 0a 09 20 20 66 6f 72  .  rpath=..  for
1f090 20 64 69 72 20 69 6e 20 24 70 65 72 6d 5f 72 70   dir in $perm_rp
1f0a0 61 74 68 3b 20 64 6f 0a 09 20 20 20 20 72 70 61  ath; do..    rpa
1f0b0 74 68 3d 22 24 72 70 61 74 68 24 64 69 72 3a 22  th="$rpath$dir:"
1f0c0 0a 09 20 20 64 6f 6e 65 0a 09 20 20 63 6f 6d 70  ..  done..  comp
1f0d0 69 6c 65 5f 76 61 72 3d 22 24 72 75 6e 70 61 74  ile_var="$runpat
1f0e0 68 5f 76 61 72 3d 5c 22 24 72 70 61 74 68 5c 24  h_var=\"$rpath\$
1f0f0 24 72 75 6e 70 61 74 68 5f 76 61 72 5c 22 20 22  $runpath_var\" "
1f100 0a 09 66 69 0a 09 69 66 20 74 65 73 74 20 2d 6e  ..fi..if test -n
1f110 20 22 24 66 69 6e 61 6c 69 7a 65 5f 70 65 72 6d   "$finalize_perm
1f120 5f 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09 20  _rpath"; then.. 
1f130 20 23 20 57 65 20 73 68 6f 75 6c 64 20 73 65 74   # We should set
1f140 20 74 68 65 20 72 75 6e 70 61 74 68 5f 76 61 72   the runpath_var
1f150 2e 0a 09 20 20 72 70 61 74 68 3d 0a 09 20 20 66  ...  rpath=..  f
1f160 6f 72 20 64 69 72 20 69 6e 20 24 66 69 6e 61 6c  or dir in $final
1f170 69 7a 65 5f 70 65 72 6d 5f 72 70 61 74 68 3b 20  ize_perm_rpath; 
1f180 64 6f 0a 09 20 20 20 20 72 70 61 74 68 3d 22 24  do..    rpath="$
1f190 72 70 61 74 68 24 64 69 72 3a 22 0a 09 20 20 64  rpath$dir:"..  d
1f1a0 6f 6e 65 0a 09 20 20 66 69 6e 61 6c 69 7a 65 5f  one..  finalize_
1f1b0 76 61 72 3d 22 24 72 75 6e 70 61 74 68 5f 76 61  var="$runpath_va
1f1c0 72 3d 5c 22 24 72 70 61 74 68 5c 24 24 72 75 6e  r=\"$rpath\$$run
1f1d0 70 61 74 68 5f 76 61 72 5c 22 20 22 0a 09 66 69  path_var\" "..fi
1f1e0 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20  .      fi..     
1f1f0 20 69 66 20 74 65 73 74 20 22 24 6e 6f 5f 69 6e   if test "$no_in
1f200 73 74 61 6c 6c 22 20 3d 20 79 65 73 3b 20 74 68  stall" = yes; th
1f210 65 6e 0a 09 23 20 57 65 20 64 6f 6e 27 74 20 6e  en..# We don't n
1f220 65 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 20  eed to create a 
1f230 77 72 61 70 70 65 72 20 73 63 72 69 70 74 2e 0a  wrapper script..
1f240 09 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24  .link_command="$
1f250 63 6f 6d 70 69 6c 65 5f 76 61 72 24 63 6f 6d 70  compile_var$comp
1f260 69 6c 65 5f 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70  ile_command$comp
1f270 69 6c 65 5f 72 70 61 74 68 22 0a 09 23 20 52 65  ile_rpath"..# Re
1f280 70 6c 61 63 65 20 74 68 65 20 6f 75 74 70 75 74  place the output
1f290 20 66 69 6c 65 20 73 70 65 63 69 66 69 63 61 74   file specificat
1f2a0 69 6f 6e 2e 0a 09 6c 69 6e 6b 5f 63 6f 6d 6d 61  ion...link_comma
1f2b0 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 6e  nd=`$echo "X$lin
1f2c0 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73  k_command" | $Xs
1f2d0 65 64 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54  ed -e 's%@OUTPUT
1f2e0 40 25 27 22 24 6f 75 74 70 75 74 22 27 25 67 27  @%'"$output"'%g'
1f2f0 60 0a 09 23 20 44 65 6c 65 74 65 20 74 68 65 20  `..# Delete the 
1f300 6f 6c 64 20 6f 75 74 70 75 74 20 66 69 6c 65 2e  old output file.
1f310 0a 09 24 72 75 6e 20 24 72 6d 20 24 6f 75 74 70  ..$run $rm $outp
1f320 75 74 0a 09 23 20 4c 69 6e 6b 20 74 68 65 20 65  ut..# Link the e
1f330 78 65 63 75 74 61 62 6c 65 20 61 6e 64 20 65 78  xecutable and ex
1f340 69 74 0a 09 24 73 68 6f 77 20 22 24 6c 69 6e 6b  it..$show "$link
1f350 5f 63 6f 6d 6d 61 6e 64 22 0a 09 24 72 75 6e 20  _command"..$run 
1f360 65 76 61 6c 20 22 24 6c 69 6e 6b 5f 63 6f 6d 6d  eval "$link_comm
1f370 61 6e 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a  and" || exit $?.
1f380 09 65 78 69 74 20 30 0a 20 20 20 20 20 20 66 69  .exit 0.      fi
1f390 0a 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  ..      if test 
1f3a0 22 24 68 61 72 64 63 6f 64 65 5f 61 63 74 69 6f  "$hardcode_actio
1f3b0 6e 22 20 3d 20 72 65 6c 69 6e 6b 3b 20 74 68 65  n" = relink; the
1f3c0 6e 0a 09 23 20 46 61 73 74 20 69 6e 73 74 61 6c  n..# Fast instal
1f3d0 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 73 75  lation is not su
1f3e0 70 70 6f 72 74 65 64 0a 09 6c 69 6e 6b 5f 63 6f  pported..link_co
1f3f0 6d 6d 61 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f  mmand="$compile_
1f400 76 61 72 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d  var$compile_comm
1f410 61 6e 64 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74  and$compile_rpat
1f420 68 22 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  h"..relink_comma
1f430 6e 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 76 61  nd="$finalize_va
1f440 72 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61  r$finalize_comma
1f450 6e 64 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74  nd$finalize_rpat
1f460 68 22 0a 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64  h"...$echo "$mod
1f470 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e 67 3a 20  ename: warning: 
1f480 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 20 64 6f  this platform do
1f490 65 73 20 6e 6f 74 20 6c 69 6b 65 20 75 6e 69 6e  es not like unin
1f4a0 73 74 61 6c 6c 65 64 20 73 68 61 72 65 64 20 6c  stalled shared l
1f4b0 69 62 72 61 72 69 65 73 22 20 31 3e 26 32 0a 09  ibraries" 1>&2..
1f4c0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
1f4d0 3a 20 5c 60 24 6f 75 74 70 75 74 27 20 77 69 6c  : \`$output' wil
1f4e0 6c 20 62 65 20 72 65 6c 69 6e 6b 65 64 20 64 75  l be relinked du
1f4f0 72 69 6e 67 20 69 6e 73 74 61 6c 6c 61 74 69 6f  ring installatio
1f500 6e 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65 6c  n" 1>&2.      el
1f510 73 65 0a 09 69 66 20 74 65 73 74 20 22 24 66 61  se..if test "$fa
1f520 73 74 5f 69 6e 73 74 61 6c 6c 22 20 21 3d 20 6e  st_install" != n
1f530 6f 3b 20 74 68 65 6e 0a 09 20 20 6c 69 6e 6b 5f  o; then..  link_
1f540 63 6f 6d 6d 61 6e 64 3d 22 24 66 69 6e 61 6c 69  command="$finali
1f550 7a 65 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f 63  ze_var$compile_c
1f560 6f 6d 6d 61 6e 64 24 66 69 6e 61 6c 69 7a 65 5f  ommand$finalize_
1f570 72 70 61 74 68 22 0a 09 20 20 69 66 20 74 65 73  rpath"..  if tes
1f580 74 20 22 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c  t "$fast_install
1f590 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20  " = yes; then.. 
1f5a0 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e     relink_comman
1f5b0 64 3d 60 24 65 63 68 6f 20 22 58 24 63 6f 6d 70  d=`$echo "X$comp
1f5c0 69 6c 65 5f 76 61 72 24 63 6f 6d 70 69 6c 65 5f  ile_var$compile_
1f5d0 63 6f 6d 6d 61 6e 64 24 63 6f 6d 70 69 6c 65 5f  command$compile_
1f5e0 72 70 61 74 68 22 20 7c 20 24 58 73 65 64 20 2d  rpath" | $Xsed -
1f5f0 65 20 27 73 25 40 4f 55 54 50 55 54 40 25 5c 24  e 's%@OUTPUT@%\$
1f600 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c 65 25 67  progdir/\$file%g
1f610 27 60 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20  '`..  else..    
1f620 23 20 66 61 73 74 5f 69 6e 73 74 61 6c 6c 20 69  # fast_install i
1f630 73 20 73 65 74 20 74 6f 20 6e 65 65 64 6c 65 73  s set to needles
1f640 73 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f  s..    relink_co
1f650 6d 6d 61 6e 64 3d 0a 09 20 20 66 69 0a 09 65 6c  mmand=..  fi..el
1f660 73 65 0a 09 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61  se..  link_comma
1f670 6e 64 3d 22 24 63 6f 6d 70 69 6c 65 5f 76 61 72  nd="$compile_var
1f680 24 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64  $compile_command
1f690 24 63 6f 6d 70 69 6c 65 5f 72 70 61 74 68 22 0a  $compile_rpath".
1f6a0 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  .  relink_comman
1f6b0 64 3d 22 24 66 69 6e 61 6c 69 7a 65 5f 76 61 72  d="$finalize_var
1f6c0 24 66 69 6e 61 6c 69 7a 65 5f 63 6f 6d 6d 61 6e  $finalize_comman
1f6d0 64 24 66 69 6e 61 6c 69 7a 65 5f 72 70 61 74 68  d$finalize_rpath
1f6e0 22 0a 09 66 69 0a 20 20 20 20 20 20 66 69 0a 0a  "..fi.      fi..
1f6f0 20 20 20 20 20 20 23 20 52 65 70 6c 61 63 65 20        # Replace 
1f700 74 68 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20  the output file 
1f710 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 0a 20  specification.. 
1f720 20 20 20 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e       link_comman
1f730 64 3d 60 24 65 63 68 6f 20 22 58 24 6c 69 6e 6b  d=`$echo "X$link
1f740 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65  _command" | $Xse
1f750 64 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54 40  d -e 's%@OUTPUT@
1f760 25 27 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69  %'"$output_objdi
1f770 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 22 27 25  r/$outputname"'%
1f780 67 27 60 0a 0a 20 20 20 20 20 20 23 20 44 65 6c  g'`..      # Del
1f790 65 74 65 20 74 68 65 20 6f 6c 64 20 6f 75 74 70  ete the old outp
1f7a0 75 74 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20  ut files..      
1f7b0 24 72 75 6e 20 24 72 6d 20 24 6f 75 74 70 75 74  $run $rm $output
1f7c0 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72 2f   $output_objdir/
1f7d0 24 6f 75 74 70 75 74 6e 61 6d 65 20 24 6f 75 74  $outputname $out
1f7e0 70 75 74 5f 6f 62 6a 64 69 72 2f 6c 74 2d 24 6f  put_objdir/lt-$o
1f7f0 75 74 70 75 74 6e 61 6d 65 0a 0a 20 20 20 20 20  utputname..     
1f800 20 24 73 68 6f 77 20 22 24 6c 69 6e 6b 5f 63 6f   $show "$link_co
1f810 6d 6d 61 6e 64 22 0a 20 20 20 20 20 20 24 72 75  mmand".      $ru
1f820 6e 20 65 76 61 6c 20 22 24 6c 69 6e 6b 5f 63 6f  n eval "$link_co
1f830 6d 6d 61 6e 64 22 20 7c 7c 20 65 78 69 74 20 24  mmand" || exit $
1f840 3f 0a 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 63  ?..      # Now c
1f850 72 65 61 74 65 20 74 68 65 20 77 72 61 70 70 65  reate the wrappe
1f860 72 20 73 63 72 69 70 74 2e 0a 20 20 20 20 20 20  r script..      
1f870 24 73 68 6f 77 20 22 63 72 65 61 74 69 6e 67 20  $show "creating 
1f880 24 6f 75 74 70 75 74 22 0a 0a 20 20 20 20 20 20  $output"..      
1f890 23 20 51 75 6f 74 65 20 74 68 65 20 72 65 6c 69  # Quote the reli
1f8a0 6e 6b 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 73  nk command for s
1f8b0 68 69 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 69  hipping..      i
1f8c0 66 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69  f test -n "$reli
1f8d0 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65  nk_command"; the
1f8e0 6e 0a 09 23 20 50 72 65 73 65 72 76 65 20 61 6e  n..# Preserve an
1f8f0 79 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74  y variables that
1f900 20 6d 61 79 20 61 66 66 65 63 74 20 63 6f 6d 70   may affect comp
1f910 69 6c 65 72 20 62 65 68 61 76 69 6f 72 0a 09 66  iler behavior..f
1f920 6f 72 20 76 61 72 20 69 6e 20 24 76 61 72 69 61  or var in $varia
1f930 62 6c 65 73 5f 73 61 76 65 64 5f 66 6f 72 5f 72  bles_saved_for_r
1f940 65 6c 69 6e 6b 3b 20 64 6f 0a 09 20 20 69 66 20  elink; do..  if 
1f950 65 76 61 6c 20 74 65 73 74 20 2d 7a 20 5c 22 5c  eval test -z \"\
1f960 24 7b 24 76 61 72 2b 73 65 74 7d 5c 22 3b 20 74  ${$var+set}\"; t
1f970 68 65 6e 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f  hen..    relink_
1f980 63 6f 6d 6d 61 6e 64 3d 22 7b 20 74 65 73 74 20  command="{ test 
1f990 2d 7a 20 5c 22 5c 24 7b 24 76 61 72 2b 73 65 74  -z \"\${$var+set
1f9a0 7d 5c 22 20 7c 7c 20 75 6e 73 65 74 20 24 76 61  }\" || unset $va
1f9b0 72 20 7c 7c 20 7b 20 24 76 61 72 3d 3b 20 65 78  r || { $var=; ex
1f9c0 70 6f 72 74 20 24 76 61 72 3b 20 7d 3b 20 7d 3b  port $var; }; };
1f9d0 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64   $relink_command
1f9e0 22 0a 09 20 20 65 6c 69 66 20 65 76 61 6c 20 76  "..  elif eval v
1f9f0 61 72 5f 76 61 6c 75 65 3d 5c 24 24 76 61 72 3b  ar_value=\$$var;
1fa00 20 74 65 73 74 20 2d 7a 20 22 24 76 61 72 5f 76   test -z "$var_v
1fa10 61 6c 75 65 22 3b 20 74 68 65 6e 0a 09 20 20 20  alue"; then..   
1fa20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d   relink_command=
1fa30 22 24 76 61 72 3d 3b 20 65 78 70 6f 72 74 20 24  "$var=; export $
1fa40 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  var; $relink_com
1fa50 6d 61 6e 64 22 0a 09 20 20 65 6c 73 65 0a 09 20  mand"..  else.. 
1fa60 20 20 20 76 61 72 5f 76 61 6c 75 65 3d 60 24 65     var_value=`$e
1fa70 63 68 6f 20 22 58 24 76 61 72 5f 76 61 6c 75 65  cho "X$var_value
1fa80 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73  " | $Xsed -e "$s
1fa90 65 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60  ed_quote_subst"`
1faa0 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d  ..    relink_com
1fab0 6d 61 6e 64 3d 22 24 76 61 72 3d 5c 22 24 76 61  mand="$var=\"$va
1fac0 72 5f 76 61 6c 75 65 5c 22 3b 20 65 78 70 6f 72  r_value\"; expor
1fad0 74 20 24 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f  t $var; $relink_
1fae0 63 6f 6d 6d 61 6e 64 22 0a 09 20 20 66 69 0a 09  command"..  fi..
1faf0 64 6f 6e 65 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d  done..relink_com
1fb00 6d 61 6e 64 3d 22 28 63 64 20 60 70 77 64 60 3b  mand="(cd `pwd`;
1fb10 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64   $relink_command
1fb20 29 22 0a 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  )"..relink_comma
1fb30 6e 64 3d 60 24 65 63 68 6f 20 22 58 24 72 65 6c  nd=`$echo "X$rel
1fb40 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 20 7c 20 24  ink_command" | $
1fb50 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
1fb60 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20  ote_subst"`.    
1fb70 20 20 66 69 0a 0a 20 20 20 20 20 20 23 20 51 75    fi..      # Qu
1fb80 6f 74 65 20 24 65 63 68 6f 20 66 6f 72 20 73 68  ote $echo for sh
1fb90 69 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 69 66  ipping..      if
1fba0 20 74 65 73 74 20 22 58 24 65 63 68 6f 22 20 3d   test "X$echo" =
1fbb0 20 22 58 24 53 48 45 4c 4c 20 24 30 20 2d 2d 66   "X$SHELL $0 --f
1fbc0 61 6c 6c 62 61 63 6b 2d 65 63 68 6f 22 3b 20 74  allback-echo"; t
1fbd0 68 65 6e 0a 09 63 61 73 65 20 24 30 20 69 6e 0a  hen..case $0 in.
1fbe0 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d  .[\\/]* | [A-Za-
1fbf0 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 71 65 63 68 6f  z]:[\\/]*) qecho
1fc00 3d 22 24 53 48 45 4c 4c 20 24 30 20 2d 2d 66 61  ="$SHELL $0 --fa
1fc10 6c 6c 62 61 63 6b 2d 65 63 68 6f 22 3b 3b 0a 09  llback-echo";;..
1fc20 2a 29 20 71 65 63 68 6f 3d 22 24 53 48 45 4c 4c  *) qecho="$SHELL
1fc30 20 60 70 77 64 60 2f 24 30 20 2d 2d 66 61 6c 6c   `pwd`/$0 --fall
1fc40 62 61 63 6b 2d 65 63 68 6f 22 3b 3b 0a 09 65 73  back-echo";;..es
1fc50 61 63 0a 09 71 65 63 68 6f 3d 60 24 65 63 68 6f  ac..qecho=`$echo
1fc60 20 22 58 24 71 65 63 68 6f 22 20 7c 20 24 58 73   "X$qecho" | $Xs
1fc70 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f 74  ed -e "$sed_quot
1fc80 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20 20 20  e_subst"`.      
1fc90 65 6c 73 65 0a 09 71 65 63 68 6f 3d 60 24 65 63  else..qecho=`$ec
1fca0 68 6f 20 22 58 24 65 63 68 6f 22 20 7c 20 24 58  ho "X$echo" | $X
1fcb0 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75 6f  sed -e "$sed_quo
1fcc0 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20 20  te_subst"`.     
1fcd0 20 66 69 0a 0a 20 20 20 20 20 20 23 20 4f 6e 6c   fi..      # Onl
1fce0 79 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 74 68  y actually do th
1fcf0 69 6e 67 73 20 69 66 20 6f 75 72 20 72 75 6e 20  ings if our run 
1fd00 63 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 6e 2d 6e  command is non-n
1fd10 75 6c 6c 2e 0a 20 20 20 20 20 20 69 66 20 74 65  ull..      if te
1fd20 73 74 20 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68  st -z "$run"; th
1fd30 65 6e 0a 09 23 20 77 69 6e 33 32 20 77 69 6c 6c  en..# win32 will
1fd40 20 74 68 69 6e 6b 20 74 68 65 20 73 63 72 69 70   think the scrip
1fd50 74 20 69 73 20 61 20 62 69 6e 61 72 79 20 69 66  t is a binary if
1fd60 20 69 74 20 68 61 73 0a 09 23 20 61 20 2e 65 78   it has..# a .ex
1fd70 65 20 73 75 66 66 69 78 2c 20 73 6f 20 77 65 20  e suffix, so we 
1fd80 73 74 72 69 70 20 69 74 20 6f 66 66 20 68 65 72  strip it off her
1fd90 65 2e 0a 09 63 61 73 65 20 24 6f 75 74 70 75 74  e...case $output
1fda0 20 69 6e 0a 09 20 20 2a 2e 65 78 65 29 20 6f 75   in..  *.exe) ou
1fdb0 74 70 75 74 3d 60 24 65 63 68 6f 20 24 6f 75 74  tput=`$echo $out
1fdc0 70 75 74 7c 24 7b 53 45 44 7d 20 27 73 2c 2e 65  put|${SED} 's,.e
1fdd0 78 65 24 2c 2c 27 60 20 3b 3b 0a 09 65 73 61 63  xe$,,'` ;;..esac
1fde0 0a 09 23 20 74 65 73 74 20 66 6f 72 20 63 79 67  ..# test for cyg
1fdf0 77 69 6e 20 62 65 63 61 75 73 65 20 6d 76 20 66  win because mv f
1fe00 61 69 6c 73 20 77 2f 6f 20 2e 65 78 65 20 65 78  ails w/o .exe ex
1fe10 74 65 6e 73 69 6f 6e 73 0a 09 63 61 73 65 20 24  tensions..case $
1fe20 68 6f 73 74 20 69 6e 0a 09 20 20 2a 63 79 67 77  host in..  *cygw
1fe30 69 6e 2a 29 0a 09 20 20 20 20 65 78 65 65 78 74  in*)..    exeext
1fe40 3d 2e 65 78 65 0a 09 20 20 20 20 6f 75 74 70 75  =.exe..    outpu
1fe50 74 6e 61 6d 65 3d 60 24 65 63 68 6f 20 24 6f 75  tname=`$echo $ou
1fe60 74 70 75 74 6e 61 6d 65 7c 24 7b 53 45 44 7d 20  tputname|${SED} 
1fe70 27 73 2c 2e 65 78 65 24 2c 2c 27 60 20 3b 3b 0a  's,.exe$,,'` ;;.
1fe80 09 20 20 2a 29 20 65 78 65 65 78 74 3d 20 3b 3b  .  *) exeext= ;;
1fe90 0a 09 65 73 61 63 0a 09 63 61 73 65 20 24 68 6f  ..esac..case $ho
1fea0 73 74 20 69 6e 0a 09 20 20 2a 63 79 67 77 69 6e  st in..  *cygwin
1feb0 2a 20 7c 20 2a 6d 69 6e 67 77 2a 20 29 0a 09 20  * | *mingw* ).. 
1fec0 20 20 20 63 77 72 61 70 70 65 72 73 6f 75 72 63     cwrappersourc
1fed0 65 3d 60 24 65 63 68 6f 20 24 7b 6f 62 6a 64 69  e=`$echo ${objdi
1fee0 72 7d 2f 6c 74 2d 24 7b 6f 75 74 70 75 74 7d 2e  r}/lt-${output}.
1fef0 63 60 0a 09 20 20 20 20 63 77 72 61 70 70 65 72  c`..    cwrapper
1ff00 3d 60 24 65 63 68 6f 20 24 7b 6f 75 74 70 75 74  =`$echo ${output
1ff10 7d 2e 65 78 65 60 0a 09 20 20 20 20 24 72 6d 20  }.exe`..    $rm 
1ff20 24 63 77 72 61 70 70 65 72 73 6f 75 72 63 65 20  $cwrappersource 
1ff30 24 63 77 72 61 70 70 65 72 0a 09 20 20 20 20 74  $cwrapper..    t
1ff40 72 61 70 20 22 24 72 6d 20 24 63 77 72 61 70 70  rap "$rm $cwrapp
1ff50 65 72 73 6f 75 72 63 65 20 24 63 77 72 61 70 70  ersource $cwrapp
1ff60 65 72 3b 20 65 78 69 74 20 31 22 20 31 20 32 20  er; exit 1" 1 2 
1ff70 31 35 0a 0a 09 20 20 20 20 63 61 74 20 3e 20 24  15...    cat > $
1ff80 63 77 72 61 70 70 65 72 73 6f 75 72 63 65 20 3c  cwrappersource <
1ff90 3c 45 4f 46 0a 0a 2f 2a 20 24 63 77 72 61 70 70  <EOF../* $cwrapp
1ffa0 65 72 73 6f 75 72 63 65 20 2d 20 74 65 6d 70 6f  ersource - tempo
1ffb0 72 61 72 79 20 77 72 61 70 70 65 72 20 65 78 65  rary wrapper exe
1ffc0 63 75 74 61 62 6c 65 20 66 6f 72 20 24 6f 62 6a  cutable for $obj
1ffd0 64 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 0a  dir/$outputname.
1ffe0 20 20 20 47 65 6e 65 72 61 74 65 64 20 62 79 20     Generated by 
1fff0 24 50 52 4f 47 52 41 4d 20 2d 20 47 4e 55 20 24  $PROGRAM - GNU $
20000 50 41 43 4b 41 47 45 20 24 56 45 52 53 49 4f 4e  PACKAGE $VERSION
20010 24 54 49 4d 45 53 54 41 4d 50 0a 0a 20 20 20 54  $TIMESTAMP..   T
20020 68 65 20 24 6f 75 74 70 75 74 20 70 72 6f 67 72  he $output progr
20030 61 6d 20 63 61 6e 6e 6f 74 20 62 65 20 64 69 72  am cannot be dir
20040 65 63 74 6c 79 20 65 78 65 63 75 74 65 64 20 75  ectly executed u
20050 6e 74 69 6c 20 61 6c 6c 20 74 68 65 20 6c 69 62  ntil all the lib
20060 74 6f 6f 6c 0a 20 20 20 6c 69 62 72 61 72 69 65  tool.   librarie
20070 73 20 74 68 61 74 20 69 74 20 64 65 70 65 6e 64  s that it depend
20080 73 20 6f 6e 20 61 72 65 20 69 6e 73 74 61 6c 6c  s on are install
20090 65 64 2e 0a 20 20 20 0a 20 20 20 54 68 69 73 20  ed..   .   This 
200a0 77 72 61 70 70 65 72 20 65 78 65 63 75 74 61 62  wrapper executab
200b0 6c 65 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20  le should never 
200c0 62 65 20 6d 6f 76 65 64 20 6f 75 74 20 6f 66 20  be moved out of 
200d0 74 68 65 20 62 75 69 6c 64 20 64 69 72 65 63 74  the build direct
200e0 6f 72 79 2e 0a 20 20 20 49 66 20 69 74 20 69 73  ory..   If it is
200f0 2c 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 6f 70  , it will not op
20100 65 72 61 74 65 20 63 6f 72 72 65 63 74 6c 79 2e  erate correctly.
20110 0a 0a 20 20 20 43 75 72 72 65 6e 74 6c 79 2c 20  ..   Currently, 
20120 69 74 20 73 69 6d 70 6c 79 20 65 78 65 63 73 20  it simply execs 
20130 74 68 65 20 77 72 61 70 70 65 72 20 2a 73 63 72  the wrapper *scr
20140 69 70 74 2a 20 22 2f 62 69 6e 2f 73 68 20 24 6f  ipt* "/bin/sh $o
20150 75 74 70 75 74 22 2c 0a 20 20 20 62 75 74 20 63  utput",.   but c
20160 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20  ould eventually 
20170 61 62 73 6f 72 62 20 61 6c 6c 20 6f 66 20 74 68  absorb all of th
20180 65 20 73 63 72 69 70 74 73 20 66 75 6e 63 74 69  e scripts functi
20190 6f 6e 61 6c 69 74 79 20 61 6e 64 0a 20 20 20 65  onality and.   e
201a0 78 65 63 20 24 6f 62 6a 64 69 72 2f 24 6f 75 74  xec $objdir/$out
201b0 70 75 74 6e 61 6d 65 20 64 69 72 65 63 74 6c 79  putname directly
201c0 2e 0a 2a 2f 0a 45 4f 46 0a 09 20 20 20 20 63 61  ..*/.EOF..    ca
201d0 74 20 3e 3e 20 24 63 77 72 61 70 70 65 72 73 6f  t >> $cwrapperso
201e0 75 72 63 65 3c 3c 22 45 4f 46 22 0a 23 69 6e 63  urce<<"EOF".#inc
201f0 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 23  lude <stdio.h>.#
20200 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e  include <stdlib.
20210 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69  h>.#include <uni
20220 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20  std.h>.#include 
20230 3c 6d 61 6c 6c 6f 63 2e 68 3e 0a 23 69 6e 63 6c  <malloc.h>.#incl
20240 75 64 65 20 3c 73 74 64 61 72 67 2e 68 3e 0a 23  ude <stdarg.h>.#
20250 69 6e 63 6c 75 64 65 20 3c 61 73 73 65 72 74 2e  include <assert.
20260 68 3e 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28  h>..#if defined(
20270 50 41 54 48 5f 4d 41 58 29 0a 23 20 64 65 66 69  PATH_MAX).# defi
20280 6e 65 20 4c 54 5f 50 41 54 48 4d 41 58 20 50 41  ne LT_PATHMAX PA
20290 54 48 5f 4d 41 58 0a 23 65 6c 69 66 20 64 65 66  TH_MAX.#elif def
202a0 69 6e 65 64 28 4d 41 58 50 41 54 48 4c 45 4e 29  ined(MAXPATHLEN)
202b0 0a 23 20 64 65 66 69 6e 65 20 4c 54 5f 50 41 54  .# define LT_PAT
202c0 48 4d 41 58 20 4d 41 58 50 41 54 48 4c 45 4e 0a  HMAX MAXPATHLEN.
202d0 23 65 6c 73 65 0a 23 20 64 65 66 69 6e 65 20 4c  #else.# define L
202e0 54 5f 50 41 54 48 4d 41 58 20 31 30 32 34 0a 23  T_PATHMAX 1024.#
202f0 65 6e 64 69 66 0a 0a 23 69 66 6e 64 65 66 20 44  endif..#ifndef D
20300 49 52 5f 53 45 50 41 52 41 54 4f 52 0a 23 64 65  IR_SEPARATOR.#de
20310 66 69 6e 65 20 44 49 52 5f 53 45 50 41 52 41 54  fine DIR_SEPARAT
20320 4f 52 20 27 2f 27 0a 23 65 6e 64 69 66 0a 0a 23  OR '/'.#endif..#
20330 69 66 20 64 65 66 69 6e 65 64 20 28 5f 57 49 4e  if defined (_WIN
20340 33 32 29 20 7c 7c 20 64 65 66 69 6e 65 64 20 28  32) || defined (
20350 5f 5f 4d 53 44 4f 53 5f 5f 29 20 7c 7c 20 64 65  __MSDOS__) || de
20360 66 69 6e 65 64 20 28 5f 5f 44 4a 47 50 50 5f 5f  fined (__DJGPP__
20370 29 20 7c 7c 20 5c 0a 20 20 64 65 66 69 6e 65 64  ) || \.  defined
20380 20 28 5f 5f 4f 53 32 5f 5f 29 0a 23 64 65 66 69   (__OS2__).#defi
20390 6e 65 20 48 41 56 45 5f 44 4f 53 5f 42 41 53 45  ne HAVE_DOS_BASE
203a0 44 5f 46 49 4c 45 5f 53 59 53 54 45 4d 0a 23 69  D_FILE_SYSTEM.#i
203b0 66 6e 64 65 66 20 44 49 52 5f 53 45 50 41 52 41  fndef DIR_SEPARA
203c0 54 4f 52 5f 32 20 0a 23 64 65 66 69 6e 65 20 44  TOR_2 .#define D
203d0 49 52 5f 53 45 50 41 52 41 54 4f 52 5f 32 20 27  IR_SEPARATOR_2 '
203e0 5c 5c 27 0a 23 65 6e 64 69 66 0a 23 65 6e 64 69  \\'.#endif.#endi
203f0 66 0a 0a 23 69 66 6e 64 65 66 20 44 49 52 5f 53  f..#ifndef DIR_S
20400 45 50 41 52 41 54 4f 52 5f 32 0a 23 20 64 65 66  EPARATOR_2.# def
20410 69 6e 65 20 49 53 5f 44 49 52 5f 53 45 50 41 52  ine IS_DIR_SEPAR
20420 41 54 4f 52 28 63 68 29 20 28 28 63 68 29 20 3d  ATOR(ch) ((ch) =
20430 3d 20 44 49 52 5f 53 45 50 41 52 41 54 4f 52 29  = DIR_SEPARATOR)
20440 0a 23 65 6c 73 65 20 2f 2a 20 44 49 52 5f 53 45  .#else /* DIR_SE
20450 50 41 52 41 54 4f 52 5f 32 20 2a 2f 0a 23 20 64  PARATOR_2 */.# d
20460 65 66 69 6e 65 20 49 53 5f 44 49 52 5f 53 45 50  efine IS_DIR_SEP
20470 41 52 41 54 4f 52 28 63 68 29 20 5c 0a 20 20 20  ARATOR(ch) \.   
20480 20 20 20 20 20 28 28 28 63 68 29 20 3d 3d 20 44       (((ch) == D
20490 49 52 5f 53 45 50 41 52 41 54 4f 52 29 20 7c 7c  IR_SEPARATOR) ||
204a0 20 28 28 63 68 29 20 3d 3d 20 44 49 52 5f 53 45   ((ch) == DIR_SE
204b0 50 41 52 41 54 4f 52 5f 32 29 29 0a 23 65 6e 64  PARATOR_2)).#end
204c0 69 66 20 2f 2a 20 44 49 52 5f 53 45 50 41 52 41  if /* DIR_SEPARA
204d0 54 4f 52 5f 32 20 2a 2f 0a 0a 23 64 65 66 69 6e  TOR_2 */..#defin
204e0 65 20 58 4d 41 4c 4c 4f 43 28 74 79 70 65 2c 20  e XMALLOC(type, 
204f0 6e 75 6d 29 20 20 20 20 20 20 28 28 74 79 70 65  num)      ((type
20500 20 2a 29 20 78 6d 61 6c 6c 6f 63 20 28 28 6e 75   *) xmalloc ((nu
20510 6d 29 20 2a 20 73 69 7a 65 6f 66 28 74 79 70 65  m) * sizeof(type
20520 29 29 29 0a 23 64 65 66 69 6e 65 20 58 46 52 45  ))).#define XFRE
20530 45 28 73 74 61 6c 65 29 20 64 6f 20 7b 20 5c 0a  E(stale) do { \.
20540 20 20 69 66 20 28 73 74 61 6c 65 29 20 7b 20 66    if (stale) { f
20550 72 65 65 20 28 28 76 6f 69 64 20 2a 29 20 73 74  ree ((void *) st
20560 61 6c 65 29 3b 20 73 74 61 6c 65 20 3d 20 30 3b  ale); stale = 0;
20570 20 7d 20 5c 0a 7d 20 77 68 69 6c 65 20 28 30 29   } \.} while (0)
20580 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 72  ..const char *pr
20590 6f 67 72 61 6d 5f 6e 61 6d 65 20 3d 20 4e 55 4c  ogram_name = NUL
205a0 4c 3b 0a 0a 76 6f 69 64 20 2a 20 78 6d 61 6c 6c  L;..void * xmall
205b0 6f 63 20 28 73 69 7a 65 5f 74 20 6e 75 6d 29 3b  oc (size_t num);
205c0 0a 63 68 61 72 20 2a 20 78 73 74 72 64 75 70 20  .char * xstrdup 
205d0 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72  (const char *str
205e0 69 6e 67 29 3b 0a 63 68 61 72 20 2a 20 62 61 73  ing);.char * bas
205f0 65 6e 61 6d 65 20 28 63 6f 6e 73 74 20 63 68 61  ename (const cha
20600 72 20 2a 6e 61 6d 65 29 3b 0a 63 68 61 72 20 2a  r *name);.char *
20610 20 66 6e 71 75 61 6c 69 66 79 28 63 6f 6e 73 74   fnqualify(const
20620 20 63 68 61 72 20 2a 70 61 74 68 29 3b 0a 63 68   char *path);.ch
20630 61 72 20 2a 20 73 74 72 65 6e 64 7a 61 70 28 63  ar * strendzap(c
20640 68 61 72 20 2a 73 74 72 2c 20 63 6f 6e 73 74 20  har *str, const 
20650 63 68 61 72 20 2a 70 61 74 29 3b 0a 76 6f 69 64  char *pat);.void
20660 20 6c 74 5f 66 61 74 61 6c 20 28 63 6f 6e 73 74   lt_fatal (const
20670 20 63 68 61 72 20 2a 6d 65 73 73 61 67 65 2c 20   char *message, 
20680 2e 2e 2e 29 3b 0a 0a 69 6e 74 0a 6d 61 69 6e 20  ...);..int.main 
20690 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20  (int argc, char 
206a0 2a 61 72 67 76 5b 5d 29 0a 7b 0a 20 20 63 68 61  *argv[]).{.  cha
206b0 72 20 2a 2a 6e 65 77 61 72 67 7a 3b 0a 20 20 69  r **newargz;.  i
206c0 6e 74 20 69 3b 0a 20 20 0a 20 20 70 72 6f 67 72  nt i;.  .  progr
206d0 61 6d 5f 6e 61 6d 65 20 3d 20 28 63 68 61 72 20  am_name = (char 
206e0 2a 29 20 78 73 74 72 64 75 70 20 28 28 63 68 61  *) xstrdup ((cha
206f0 72 20 2a 29 20 62 61 73 65 6e 61 6d 65 20 28 61  r *) basename (a
20700 72 67 76 5b 30 5d 29 29 3b 0a 20 20 6e 65 77 61  rgv[0]));.  newa
20710 72 67 7a 20 3d 20 58 4d 41 4c 4c 4f 43 28 63 68  rgz = XMALLOC(ch
20720 61 72 20 2a 2c 20 61 72 67 63 2b 32 29 3b 0a 45  ar *, argc+2);.E
20730 4f 46 0a 0a 09 20 20 20 20 63 61 74 20 3e 3e 20  OF...    cat >> 
20740 24 63 77 72 61 70 70 65 72 73 6f 75 72 63 65 20  $cwrappersource 
20750 3c 3c 45 4f 46 0a 20 20 6e 65 77 61 72 67 7a 5b  <<EOF.  newargz[
20760 30 5d 20 3d 20 22 24 53 48 45 4c 4c 22 3b 0a 45  0] = "$SHELL";.E
20770 4f 46 0a 0a 09 20 20 20 20 63 61 74 20 3e 3e 20  OF...    cat >> 
20780 24 63 77 72 61 70 70 65 72 73 6f 75 72 63 65 20  $cwrappersource 
20790 3c 3c 22 45 4f 46 22 0a 20 20 6e 65 77 61 72 67  <<"EOF".  newarg
207a0 7a 5b 31 5d 20 3d 20 66 6e 71 75 61 6c 69 66 79  z[1] = fnqualify
207b0 28 61 72 67 76 5b 30 5d 29 3b 0a 20 20 2f 2a 20  (argv[0]);.  /* 
207c0 77 65 20 6b 6e 6f 77 20 74 68 65 20 73 63 72 69  we know the scri
207d0 70 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20  pt has the same 
207e0 6e 61 6d 65 2c 20 77 69 74 68 6f 75 74 20 74 68  name, without th
207f0 65 20 2e 65 78 65 20 2a 2f 0a 20 20 2f 2a 20 73  e .exe */.  /* s
20800 6f 20 6d 61 6b 65 20 73 75 72 65 20 6e 65 77 61  o make sure newa
20810 72 67 7a 5b 31 5d 20 64 6f 65 73 6e 27 74 20 65  rgz[1] doesn't e
20820 6e 64 20 69 6e 20 2e 65 78 65 20 2a 2f 0a 20 20  nd in .exe */.  
20830 73 74 72 65 6e 64 7a 61 70 28 6e 65 77 61 72 67  strendzap(newarg
20840 7a 5b 31 5d 2c 22 2e 65 78 65 22 29 3b 20 0a 20  z[1],".exe"); . 
20850 20 66 6f 72 20 28 69 20 3d 20 31 3b 20 69 20 3c   for (i = 1; i <
20860 20 61 72 67 63 3b 20 69 2b 2b 29 0a 20 20 20 20   argc; i++).    
20870 6e 65 77 61 72 67 7a 5b 69 2b 31 5d 20 3d 20 78  newargz[i+1] = x
20880 73 74 72 64 75 70 28 61 72 67 76 5b 69 5d 29 3b  strdup(argv[i]);
20890 0a 20 20 6e 65 77 61 72 67 7a 5b 61 72 67 63 2b  .  newargz[argc+
208a0 31 5d 20 3d 20 4e 55 4c 4c 3b 0a 45 4f 46 0a 0a  1] = NULL;.EOF..
208b0 09 20 20 20 20 63 61 74 20 3e 3e 20 24 63 77 72  .    cat >> $cwr
208c0 61 70 70 65 72 73 6f 75 72 63 65 20 3c 3c 45 4f  appersource <<EO
208d0 46 0a 20 20 65 78 65 63 76 28 22 24 53 48 45 4c  F.  execv("$SHEL
208e0 4c 22 2c 6e 65 77 61 72 67 7a 29 3b 0a 45 4f 46  L",newargz);.EOF
208f0 0a 0a 09 20 20 20 20 63 61 74 20 3e 3e 20 24 63  ...    cat >> $c
20900 77 72 61 70 70 65 72 73 6f 75 72 63 65 20 3c 3c  wrappersource <<
20910 22 45 4f 46 22 0a 7d 0a 0a 76 6f 69 64 20 2a 0a  "EOF".}..void *.
20920 78 6d 61 6c 6c 6f 63 20 28 73 69 7a 65 5f 74 20  xmalloc (size_t 
20930 6e 75 6d 29 0a 7b 0a 20 20 76 6f 69 64 20 2a 20  num).{.  void * 
20940 70 20 3d 20 28 76 6f 69 64 20 2a 29 20 6d 61 6c  p = (void *) mal
20950 6c 6f 63 20 28 6e 75 6d 29 3b 0a 20 20 69 66 20  loc (num);.  if 
20960 28 21 70 29 0a 20 20 20 20 6c 74 5f 66 61 74 61  (!p).    lt_fata
20970 6c 20 28 22 4d 65 6d 6f 72 79 20 65 78 68 61 75  l ("Memory exhau
20980 73 74 65 64 22 29 3b 0a 0a 20 20 72 65 74 75 72  sted");..  retur
20990 6e 20 70 3b 0a 7d 0a 0a 63 68 61 72 20 2a 20 0a  n p;.}..char * .
209a0 78 73 74 72 64 75 70 20 28 63 6f 6e 73 74 20 63  xstrdup (const c
209b0 68 61 72 20 2a 73 74 72 69 6e 67 29 0a 7b 0a 20  har *string).{. 
209c0 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 3f   return string ?
209d0 20 73 74 72 63 70 79 20 28 28 63 68 61 72 20 2a   strcpy ((char *
209e0 29 20 78 6d 61 6c 6c 6f 63 20 28 73 74 72 6c 65  ) xmalloc (strle
209f0 6e 20 28 73 74 72 69 6e 67 29 20 2b 20 31 29 2c  n (string) + 1),
20a00 20 73 74 72 69 6e 67 29 20 3a 20 4e 55 4c 4c 0a   string) : NULL.
20a10 3b 0a 7d 0a 0a 63 68 61 72 20 2a 0a 62 61 73 65  ;.}..char *.base
20a20 6e 61 6d 65 20 28 63 6f 6e 73 74 20 63 68 61 72  name (const char
20a30 20 2a 6e 61 6d 65 29 0a 7b 0a 20 20 63 6f 6e 73   *name).{.  cons
20a40 74 20 63 68 61 72 20 2a 62 61 73 65 3b 0a 0a 23  t char *base;..#
20a50 69 66 20 64 65 66 69 6e 65 64 20 28 48 41 56 45  if defined (HAVE
20a60 5f 44 4f 53 5f 42 41 53 45 44 5f 46 49 4c 45 5f  _DOS_BASED_FILE_
20a70 53 59 53 54 45 4d 29 0a 20 20 2f 2a 20 53 6b 69  SYSTEM).  /* Ski
20a80 70 20 6f 76 65 72 20 74 68 65 20 64 69 73 6b 20  p over the disk 
20a90 6e 61 6d 65 20 69 6e 20 4d 53 44 4f 53 20 70 61  name in MSDOS pa
20aa0 74 68 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 69 66  thnames. */.  if
20ab0 20 28 69 73 61 6c 70 68 61 20 28 6e 61 6d 65 5b   (isalpha (name[
20ac0 30 5d 29 20 26 26 20 6e 61 6d 65 5b 31 5d 20 3d  0]) && name[1] =
20ad0 3d 20 27 3a 27 29 20 0a 20 20 20 20 6e 61 6d 65  = ':') .    name
20ae0 20 2b 3d 20 32 3b 0a 23 65 6e 64 69 66 0a 0a 20   += 2;.#endif.. 
20af0 20 66 6f 72 20 28 62 61 73 65 20 3d 20 6e 61 6d   for (base = nam
20b00 65 3b 20 2a 6e 61 6d 65 3b 20 6e 61 6d 65 2b 2b  e; *name; name++
20b10 29 0a 20 20 20 20 69 66 20 28 49 53 5f 44 49 52  ).    if (IS_DIR
20b20 5f 53 45 50 41 52 41 54 4f 52 20 28 2a 6e 61 6d  _SEPARATOR (*nam
20b30 65 29 29 0a 20 20 20 20 20 20 62 61 73 65 20 3d  e)).      base =
20b40 20 6e 61 6d 65 20 2b 20 31 3b 0a 20 20 72 65 74   name + 1;.  ret
20b50 75 72 6e 20 28 63 68 61 72 20 2a 29 20 62 61 73  urn (char *) bas
20b60 65 3b 0a 7d 0a 0a 63 68 61 72 20 2a 20 0a 66 6e  e;.}..char * .fn
20b70 71 75 61 6c 69 66 79 28 63 6f 6e 73 74 20 63 68  qualify(const ch
20b80 61 72 20 2a 70 61 74 68 29 0a 7b 0a 20 20 73 69  ar *path).{.  si
20b90 7a 65 5f 74 20 73 69 7a 65 3b 0a 20 20 63 68 61  ze_t size;.  cha
20ba0 72 20 2a 70 3b 0a 20 20 63 68 61 72 20 74 6d 70  r *p;.  char tmp
20bb0 5b 4c 54 5f 50 41 54 48 4d 41 58 20 2b 20 31 5d  [LT_PATHMAX + 1]
20bc0 3b 0a 0a 20 20 61 73 73 65 72 74 28 70 61 74 68  ;..  assert(path
20bd0 20 21 3d 20 4e 55 4c 4c 29 3b 0a 0a 20 20 2f 2a   != NULL);..  /*
20be0 20 49 73 20 69 74 20 71 75 61 6c 69 66 69 65 64   Is it qualified
20bf0 20 61 6c 72 65 61 64 79 3f 20 2a 2f 0a 23 69 66   already? */.#if
20c00 20 64 65 66 69 6e 65 64 20 28 48 41 56 45 5f 44   defined (HAVE_D
20c10 4f 53 5f 42 41 53 45 44 5f 46 49 4c 45 5f 53 59  OS_BASED_FILE_SY
20c20 53 54 45 4d 29 0a 20 20 69 66 20 28 69 73 61 6c  STEM).  if (isal
20c30 70 68 61 20 28 70 61 74 68 5b 30 5d 29 20 26 26  pha (path[0]) &&
20c40 20 70 61 74 68 5b 31 5d 20 3d 3d 20 27 3a 27 29   path[1] == ':')
20c50 0a 20 20 20 20 72 65 74 75 72 6e 20 78 73 74 72  .    return xstr
20c60 64 75 70 20 28 70 61 74 68 29 3b 0a 23 65 6e 64  dup (path);.#end
20c70 69 66 0a 20 20 69 66 20 28 49 53 5f 44 49 52 5f  if.  if (IS_DIR_
20c80 53 45 50 41 52 41 54 4f 52 20 28 70 61 74 68 5b  SEPARATOR (path[
20c90 30 5d 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20  0])).    return 
20ca0 78 73 74 72 64 75 70 20 28 70 61 74 68 29 3b 0a  xstrdup (path);.
20cb0 0a 20 20 2f 2a 20 70 72 65 70 65 6e 64 20 74 68  .  /* prepend th
20cc0 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74  e current direct
20cd0 6f 72 79 20 2a 2f 0a 20 20 2f 2a 20 64 6f 65 73  ory */.  /* does
20ce0 6e 27 74 20 68 61 6e 64 6c 65 20 27 7e 27 20 2a  n't handle '~' *
20cf0 2f 0a 20 20 69 66 20 28 67 65 74 63 77 64 20 28  /.  if (getcwd (
20d00 74 6d 70 2c 20 4c 54 5f 50 41 54 48 4d 41 58 29  tmp, LT_PATHMAX)
20d10 20 3d 3d 20 4e 55 4c 4c 29 0a 20 20 20 20 6c 74   == NULL).    lt
20d20 5f 66 61 74 61 6c 20 28 22 67 65 74 63 77 64 20  _fatal ("getcwd 
20d30 66 61 69 6c 65 64 22 29 3b 0a 20 20 73 69 7a 65  failed");.  size
20d40 20 3d 20 73 74 72 6c 65 6e 28 74 6d 70 29 20 2b   = strlen(tmp) +
20d50 20 31 20 2b 20 73 74 72 6c 65 6e 28 70 61 74 68   1 + strlen(path
20d60 29 20 2b 20 31 3b 20 2f 2a 20 2b 32 20 66 6f 72  ) + 1; /* +2 for
20d70 20 27 2f 27 20 61 6e 64 20 27 5c 30 27 20 2a 2f   '/' and '\0' */
20d80 0a 20 20 70 20 3d 20 58 4d 41 4c 4c 4f 43 28 63  .  p = XMALLOC(c
20d90 68 61 72 2c 20 73 69 7a 65 29 3b 0a 20 20 73 70  har, size);.  sp
20da0 72 69 6e 74 66 28 70 2c 20 22 25 73 25 63 25 73  rintf(p, "%s%c%s
20db0 22 2c 20 74 6d 70 2c 20 44 49 52 5f 53 45 50 41  ", tmp, DIR_SEPA
20dc0 52 41 54 4f 52 2c 20 70 61 74 68 29 3b 0a 20 20  RATOR, path);.  
20dd0 72 65 74 75 72 6e 20 70 3b 0a 7d 0a 0a 63 68 61  return p;.}..cha
20de0 72 20 2a 0a 73 74 72 65 6e 64 7a 61 70 28 63 68  r *.strendzap(ch
20df0 61 72 20 2a 73 74 72 2c 20 63 6f 6e 73 74 20 63  ar *str, const c
20e00 68 61 72 20 2a 70 61 74 29 20 0a 7b 0a 20 20 73  har *pat) .{.  s
20e10 69 7a 65 5f 74 20 6c 65 6e 2c 20 70 61 74 6c 65  ize_t len, patle
20e20 6e 3b 0a 0a 20 20 61 73 73 65 72 74 28 73 74 72  n;..  assert(str
20e30 20 21 3d 20 4e 55 4c 4c 29 3b 0a 20 20 61 73 73   != NULL);.  ass
20e40 65 72 74 28 70 61 74 20 21 3d 20 4e 55 4c 4c 29  ert(pat != NULL)
20e50 3b 0a 0a 20 20 6c 65 6e 20 3d 20 73 74 72 6c 65  ;..  len = strle
20e60 6e 28 73 74 72 29 3b 0a 20 20 70 61 74 6c 65 6e  n(str);.  patlen
20e70 20 3d 20 73 74 72 6c 65 6e 28 70 61 74 29 3b 0a   = strlen(pat);.
20e80 0a 20 20 69 66 20 28 70 61 74 6c 65 6e 20 3c 3d  .  if (patlen <=
20e90 20 6c 65 6e 29 0a 20 20 7b 0a 20 20 20 20 73 74   len).  {.    st
20ea0 72 20 2b 3d 20 6c 65 6e 20 2d 20 70 61 74 6c 65  r += len - patle
20eb0 6e 3b 0a 20 20 20 20 69 66 20 28 73 74 72 63 6d  n;.    if (strcm
20ec0 70 28 73 74 72 2c 20 70 61 74 29 20 3d 3d 20 30  p(str, pat) == 0
20ed0 29 0a 20 20 20 20 20 20 2a 73 74 72 20 3d 20 27  ).      *str = '
20ee0 5c 30 27 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72  \0';.  }.  retur
20ef0 6e 20 73 74 72 3b 0a 7d 0a 0a 73 74 61 74 69 63  n str;.}..static
20f00 20 76 6f 69 64 0a 6c 74 5f 65 72 72 6f 72 5f 63   void.lt_error_c
20f10 6f 72 65 20 28 69 6e 74 20 65 78 69 74 5f 73 74  ore (int exit_st
20f20 61 74 75 73 2c 20 63 6f 6e 73 74 20 63 68 61 72  atus, const char
20f30 20 2a 20 6d 6f 64 65 2c 20 0a 20 20 20 20 20 20   * mode, .      
20f40 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a      const char *
20f50 20 6d 65 73 73 61 67 65 2c 20 76 61 5f 6c 69 73   message, va_lis
20f60 74 20 61 70 29 0a 7b 0a 20 20 66 70 72 69 6e 74  t ap).{.  fprint
20f70 66 20 28 73 74 64 65 72 72 2c 20 22 25 73 3a 20  f (stderr, "%s: 
20f80 25 73 3a 20 22 2c 20 70 72 6f 67 72 61 6d 5f 6e  %s: ", program_n
20f90 61 6d 65 2c 20 6d 6f 64 65 29 3b 0a 20 20 76 66  ame, mode);.  vf
20fa0 70 72 69 6e 74 66 20 28 73 74 64 65 72 72 2c 20  printf (stderr, 
20fb0 6d 65 73 73 61 67 65 2c 20 61 70 29 3b 0a 20 20  message, ap);.  
20fc0 66 70 72 69 6e 74 66 20 28 73 74 64 65 72 72 2c  fprintf (stderr,
20fd0 20 22 2e 5c 6e 22 29 3b 0a 0a 20 20 69 66 20 28   ".\n");..  if (
20fe0 65 78 69 74 5f 73 74 61 74 75 73 20 3e 3d 20 30  exit_status >= 0
20ff0 29 0a 20 20 20 20 65 78 69 74 20 28 65 78 69 74  ).    exit (exit
21000 5f 73 74 61 74 75 73 29 3b 0a 7d 0a 0a 76 6f 69  _status);.}..voi
21010 64 0a 6c 74 5f 66 61 74 61 6c 20 28 63 6f 6e 73  d.lt_fatal (cons
21020 74 20 63 68 61 72 20 2a 6d 65 73 73 61 67 65 2c  t char *message,
21030 20 2e 2e 2e 29 0a 7b 0a 20 20 76 61 5f 6c 69 73   ...).{.  va_lis
21040 74 20 61 70 3b 0a 20 20 76 61 5f 73 74 61 72 74  t ap;.  va_start
21050 20 28 61 70 2c 20 6d 65 73 73 61 67 65 29 3b 0a   (ap, message);.
21060 20 20 6c 74 5f 65 72 72 6f 72 5f 63 6f 72 65 20    lt_error_core 
21070 28 45 58 49 54 5f 46 41 49 4c 55 52 45 2c 20 22  (EXIT_FAILURE, "
21080 46 41 54 41 4c 22 2c 20 6d 65 73 73 61 67 65 2c  FATAL", message,
21090 20 61 70 29 3b 0a 20 20 76 61 5f 65 6e 64 20 28   ap);.  va_end (
210a0 61 70 29 3b 0a 7d 0a 45 4f 46 0a 09 20 20 23 20  ap);.}.EOF..  # 
210b0 77 65 20 73 68 6f 75 6c 64 20 72 65 61 6c 6c 79  we should really
210c0 20 75 73 65 20 61 20 62 75 69 6c 64 2d 70 6c 61   use a build-pla
210d0 74 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20 63  tform specific c
210e0 6f 6d 70 69 6c 65 72 0a 09 20 20 23 20 68 65 72  ompiler..  # her
210f0 65 2c 20 62 75 74 20 4f 54 4f 48 2c 20 74 68 65  e, but OTOH, the
21100 20 77 72 61 70 70 65 72 73 20 28 73 68 65 6c 6c   wrappers (shell
21110 20 73 63 72 69 70 74 20 61 6e 64 20 74 68 69 73   script and this
21120 20 43 20 6f 6e 65 29 0a 09 20 20 23 20 61 72 65   C one)..  # are
21130 20 6f 6e 6c 79 20 75 73 65 66 75 6c 20 69 66 20   only useful if 
21140 79 6f 75 20 77 61 6e 74 20 74 6f 20 65 78 65 63  you want to exec
21150 75 74 65 20 74 68 65 20 22 72 65 61 6c 22 20 62  ute the "real" b
21160 69 6e 61 72 79 2e 0a 09 20 20 23 20 53 69 6e 63  inary...  # Sinc
21170 65 20 74 68 65 20 22 72 65 61 6c 22 20 62 69 6e  e the "real" bin
21180 61 72 79 20 69 73 20 62 75 69 6c 74 20 66 6f 72  ary is built for
21190 20 24 68 6f 73 74 2c 20 74 68 65 6e 20 74 68 69   $host, then thi
211a0 73 0a 09 20 20 23 20 77 72 61 70 70 65 72 20 6d  s..  # wrapper m
211b0 69 67 68 74 20 61 73 20 77 65 6c 6c 20 62 65 20  ight as well be 
211c0 62 75 69 6c 74 20 66 6f 72 20 24 68 6f 73 74 2c  built for $host,
211d0 20 74 6f 6f 2e 0a 09 20 20 24 72 75 6e 20 24 4c   too...  $run $L
211e0 54 43 43 20 2d 73 20 2d 6f 20 24 63 77 72 61 70  TCC -s -o $cwrap
211f0 70 65 72 20 24 63 77 72 61 70 70 65 72 73 6f 75  per $cwrappersou
21200 72 63 65 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a  rce..  ;;..esac.
21210 09 24 72 6d 20 24 6f 75 74 70 75 74 0a 09 74 72  .$rm $output..tr
21220 61 70 20 22 24 72 6d 20 24 6f 75 74 70 75 74 3b  ap "$rm $output;
21230 20 65 78 69 74 20 31 22 20 31 20 32 20 31 35 0a   exit 1" 1 2 15.
21240 0a 09 24 65 63 68 6f 20 3e 20 24 6f 75 74 70 75  ..$echo > $outpu
21250 74 20 22 5c 0a 23 21 20 24 53 48 45 4c 4c 0a 0a  t "\.#! $SHELL..
21260 23 20 24 6f 75 74 70 75 74 20 2d 20 74 65 6d 70  # $output - temp
21270 6f 72 61 72 79 20 77 72 61 70 70 65 72 20 73 63  orary wrapper sc
21280 72 69 70 74 20 66 6f 72 20 24 6f 62 6a 64 69 72  ript for $objdir
21290 2f 24 6f 75 74 70 75 74 6e 61 6d 65 0a 23 20 47  /$outputname.# G
212a0 65 6e 65 72 61 74 65 64 20 62 79 20 24 50 52 4f  enerated by $PRO
212b0 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b  GRAM - GNU $PACK
212c0 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d  AGE $VERSION$TIM
212d0 45 53 54 41 4d 50 0a 23 0a 23 20 54 68 65 20 24  ESTAMP.#.# The $
212e0 6f 75 74 70 75 74 20 70 72 6f 67 72 61 6d 20 63  output program c
212f0 61 6e 6e 6f 74 20 62 65 20 64 69 72 65 63 74 6c  annot be directl
21300 79 20 65 78 65 63 75 74 65 64 20 75 6e 74 69 6c  y executed until
21310 20 61 6c 6c 20 74 68 65 20 6c 69 62 74 6f 6f 6c   all the libtool
21320 0a 23 20 6c 69 62 72 61 72 69 65 73 20 74 68 61  .# libraries tha
21330 74 20 69 74 20 64 65 70 65 6e 64 73 20 6f 6e 20  t it depends on 
21340 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 23  are installed..#
21350 0a 23 20 54 68 69 73 20 77 72 61 70 70 65 72 20  .# This wrapper 
21360 73 63 72 69 70 74 20 73 68 6f 75 6c 64 20 6e 65  script should ne
21370 76 65 72 20 62 65 20 6d 6f 76 65 64 20 6f 75 74  ver be moved out
21380 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20 64 69   of the build di
21390 72 65 63 74 6f 72 79 2e 0a 23 20 49 66 20 69 74  rectory..# If it
213a0 20 69 73 2c 20 69 74 20 77 69 6c 6c 20 6e 6f 74   is, it will not
213b0 20 6f 70 65 72 61 74 65 20 63 6f 72 72 65 63 74   operate correct
213c0 6c 79 2e 0a 0a 23 20 53 65 64 20 73 75 62 73 74  ly...# Sed subst
213d0 69 74 75 74 69 6f 6e 20 74 68 61 74 20 68 65 6c  itution that hel
213e0 70 73 20 75 73 20 64 6f 20 72 6f 62 75 73 74 20  ps us do robust 
213f0 71 75 6f 74 69 6e 67 2e 20 20 49 74 20 62 61 63  quoting.  It bac
21400 6b 73 6c 61 73 68 69 66 69 65 73 0a 23 20 6d 65  kslashifies.# me
21410 74 61 63 68 61 72 61 63 74 65 72 73 20 74 68 61  tacharacters tha
21420 74 20 61 72 65 20 73 74 69 6c 6c 20 61 63 74 69  t are still acti
21430 76 65 20 77 69 74 68 69 6e 20 64 6f 75 62 6c 65  ve within double
21440 2d 71 75 6f 74 65 64 20 73 74 72 69 6e 67 73 2e  -quoted strings.
21450 0a 58 73 65 64 3d 27 24 7b 53 45 44 7d 20 2d 65  .Xsed='${SED} -e
21460 20 31 73 2f 5e 58 2f 2f 27 0a 73 65 64 5f 71 75   1s/^X//'.sed_qu
21470 6f 74 65 5f 73 75 62 73 74 3d 27 24 73 65 64 5f  ote_subst='$sed_
21480 71 75 6f 74 65 5f 73 75 62 73 74 27 0a 0a 23 20  quote_subst'..# 
21490 54 68 65 20 48 50 2d 55 58 20 6b 73 68 20 61 6e  The HP-UX ksh an
214a0 64 20 50 4f 53 49 58 20 73 68 65 6c 6c 20 70 72  d POSIX shell pr
214b0 69 6e 74 20 74 68 65 20 74 61 72 67 65 74 20 64  int the target d
214c0 69 72 65 63 74 6f 72 79 20 74 6f 20 73 74 64 6f  irectory to stdo
214d0 75 74 0a 23 20 69 66 20 43 44 50 41 54 48 20 69  ut.# if CDPATH i
214e0 73 20 73 65 74 2e 0a 69 66 20 74 65 73 74 20 5c  s set..if test \
214f0 22 5c 24 7b 43 44 50 41 54 48 2b 73 65 74 7d 5c  "\${CDPATH+set}\
21500 22 20 3d 20 73 65 74 3b 20 74 68 65 6e 20 43 44  " = set; then CD
21510 50 41 54 48 3d 3a 3b 20 65 78 70 6f 72 74 20 43  PATH=:; export C
21520 44 50 41 54 48 3b 20 66 69 0a 0a 72 65 6c 69 6e  DPATH; fi..relin
21530 6b 5f 63 6f 6d 6d 61 6e 64 3d 5c 22 24 72 65 6c  k_command=\"$rel
21540 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 5c 22 0a 0a 23  ink_command\"..#
21550 20 54 68 69 73 20 65 6e 76 69 72 6f 6e 6d 65 6e   This environmen
21560 74 20 76 61 72 69 61 62 6c 65 20 64 65 74 65 72  t variable deter
21570 6d 69 6e 65 73 20 6f 75 72 20 6f 70 65 72 61 74  mines our operat
21580 69 6f 6e 20 6d 6f 64 65 2e 0a 69 66 20 74 65 73  ion mode..if tes
21590 74 20 5c 22 5c 24 6c 69 62 74 6f 6f 6c 5f 69 6e  t \"\$libtool_in
215a0 73 74 61 6c 6c 5f 6d 61 67 69 63 5c 22 20 3d 20  stall_magic\" = 
215b0 5c 22 24 6d 61 67 69 63 5c 22 3b 20 74 68 65 6e  \"$magic\"; then
215c0 0a 20 20 23 20 69 6e 73 74 61 6c 6c 20 6d 6f 64  .  # install mod
215d0 65 20 6e 65 65 64 73 20 74 68 65 20 66 6f 6c 6c  e needs the foll
215e0 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 3a 0a  owing variable:.
215f0 20 20 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62    notinst_deplib
21600 73 3d 27 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c  s='$notinst_depl
21610 69 62 73 27 0a 65 6c 73 65 0a 20 20 23 20 57 68  ibs'.else.  # Wh
21620 65 6e 20 77 65 20 61 72 65 20 73 6f 75 72 63 65  en we are source
21630 64 20 69 6e 20 65 78 65 63 75 74 65 20 6d 6f 64  d in execute mod
21640 65 2c 20 5c 24 66 69 6c 65 20 61 6e 64 20 5c 24  e, \$file and \$
21650 65 63 68 6f 20 61 72 65 20 61 6c 72 65 61 64 79  echo are already
21660 20 73 65 74 2e 0a 20 20 69 66 20 74 65 73 74 20   set..  if test 
21670 5c 22 5c 24 6c 69 62 74 6f 6f 6c 5f 65 78 65 63  \"\$libtool_exec
21680 75 74 65 5f 6d 61 67 69 63 5c 22 20 21 3d 20 5c  ute_magic\" != \
21690 22 24 6d 61 67 69 63 5c 22 3b 20 74 68 65 6e 0a  "$magic\"; then.
216a0 20 20 20 20 65 63 68 6f 3d 5c 22 24 71 65 63 68      echo=\"$qech
216b0 6f 5c 22 0a 20 20 20 20 66 69 6c 65 3d 5c 22 5c  o\".    file=\"\
216c0 24 30 5c 22 0a 20 20 20 20 23 20 4d 61 6b 65 20  $0\".    # Make 
216d0 73 75 72 65 20 65 63 68 6f 20 77 6f 72 6b 73 2e  sure echo works.
216e0 0a 20 20 20 20 69 66 20 74 65 73 74 20 5c 22 58  .    if test \"X
216f0 5c 24 31 5c 22 20 3d 20 58 2d 2d 6e 6f 2d 72 65  \$1\" = X--no-re
21700 65 78 65 63 3b 20 74 68 65 6e 0a 20 20 20 20 20  exec; then.     
21710 20 23 20 44 69 73 63 61 72 64 20 74 68 65 20 2d   # Discard the -
21720 2d 6e 6f 2d 72 65 65 78 65 63 20 66 6c 61 67 2c  -no-reexec flag,
21730 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 2e 0a 20   and continue.. 
21740 20 20 20 20 20 73 68 69 66 74 0a 20 20 20 20 65       shift.    e
21750 6c 69 66 20 74 65 73 74 20 5c 22 58 5c 60 28 5c  lif test \"X\`(\
21760 24 65 63 68 6f 20 27 5c 74 27 29 20 32 3e 2f 64  $echo '\t') 2>/d
21770 65 76 2f 6e 75 6c 6c 5c 60 5c 22 20 3d 20 27 58  ev/null\`\" = 'X
21780 5c 74 27 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  \t'; then.      
21790 23 20 59 69 70 70 65 65 2c 20 5c 24 65 63 68 6f  # Yippee, \$echo
217a0 20 77 6f 72 6b 73 21 0a 20 20 20 20 20 20 3a 0a   works!.      :.
217b0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 23      else.      #
217c0 20 52 65 73 74 61 72 74 20 75 6e 64 65 72 20 74   Restart under t
217d0 68 65 20 63 6f 72 72 65 63 74 20 73 68 65 6c 6c  he correct shell
217e0 2c 20 61 6e 64 20 74 68 65 6e 20 6d 61 79 62 65  , and then maybe
217f0 20 5c 24 65 63 68 6f 20 77 69 6c 6c 20 77 6f 72   \$echo will wor
21800 6b 2e 0a 20 20 20 20 20 20 65 78 65 63 20 24 53  k..      exec $S
21810 48 45 4c 4c 20 5c 22 5c 24 30 5c 22 20 2d 2d 6e  HELL \"\$0\" --n
21820 6f 2d 72 65 65 78 65 63 20 5c 24 7b 31 2b 5c 22  o-reexec \${1+\"
21830 5c 24 40 5c 22 7d 0a 20 20 20 20 66 69 0a 20 20  \$@\"}.    fi.  
21840 66 69 5c 0a 22 0a 09 24 65 63 68 6f 20 3e 3e 20  fi\."..$echo >> 
21850 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 23 20  $output "\..  # 
21860 46 69 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f  Find the directo
21870 72 79 20 74 68 61 74 20 74 68 69 73 20 73 63 72  ry that this scr
21880 69 70 74 20 6c 69 76 65 73 20 69 6e 2e 0a 20 20  ipt lives in..  
21890 74 68 69 73 64 69 72 3d 5c 60 5c 24 65 63 68 6f  thisdir=\`\$echo
218a0 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20 7c 20 5c   \"X\$file\" | \
218b0 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
218c0 5d 2a 24 25 25 27 5c 60 0a 20 20 74 65 73 74 20  ]*$%%'\`.  test 
218d0 5c 22 78 5c 24 74 68 69 73 64 69 72 5c 22 20 3d  \"x\$thisdir\" =
218e0 20 5c 22 78 5c 24 66 69 6c 65 5c 22 20 26 26 20   \"x\$file\" && 
218f0 74 68 69 73 64 69 72 3d 2e 0a 0a 20 20 23 20 46  thisdir=...  # F
21900 6f 6c 6c 6f 77 20 73 79 6d 62 6f 6c 69 63 20 6c  ollow symbolic l
21910 69 6e 6b 73 20 75 6e 74 69 6c 20 77 65 20 67 65  inks until we ge
21920 74 20 74 6f 20 74 68 65 20 72 65 61 6c 20 74 68  t to the real th
21930 69 73 64 69 72 2e 0a 20 20 66 69 6c 65 3d 5c 60  isdir..  file=\`
21940 6c 73 20 2d 6c 64 20 5c 22 5c 24 66 69 6c 65 5c  ls -ld \"\$file\
21950 22 20 7c 20 24 7b 53 45 44 7d 20 2d 6e 20 27 73  " | ${SED} -n 's
21960 2f 2e 2a 2d 3e 20 2f 2f 70 27 5c 60 0a 20 20 77  /.*-> //p'\`.  w
21970 68 69 6c 65 20 74 65 73 74 20 2d 6e 20 5c 22 5c  hile test -n \"\
21980 24 66 69 6c 65 5c 22 3b 20 64 6f 0a 20 20 20 20  $file\"; do.    
21990 64 65 73 74 64 69 72 3d 5c 60 5c 24 65 63 68 6f  destdir=\`\$echo
219a0 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20 7c 20 5c   \"X\$file\" | \
219b0 24 58 73 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f  $Xsed -e 's%/[^/
219c0 5d 2a 5c 24 25 25 27 5c 60 0a 0a 20 20 20 20 23  ]*\$%%'\`..    #
219d0 20 49 66 20 74 68 65 72 65 20 77 61 73 20 61 20   If there was a 
219e0 64 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e  directory compon
219f0 65 6e 74 2c 20 74 68 65 6e 20 63 68 61 6e 67 65  ent, then change
21a00 20 74 68 69 73 64 69 72 2e 0a 20 20 20 20 69 66   thisdir..    if
21a10 20 74 65 73 74 20 5c 22 78 5c 24 64 65 73 74 64   test \"x\$destd
21a20 69 72 5c 22 20 21 3d 20 5c 22 78 5c 24 66 69 6c  ir\" != \"x\$fil
21a30 65 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  e\"; then.      
21a40 63 61 73 65 20 5c 22 5c 24 64 65 73 74 64 69 72  case \"\$destdir
21a50 5c 22 20 69 6e 0a 20 20 20 20 20 20 5b 5c 5c 5c  \" in.      [\\\
21a60 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a  \/]* | [A-Za-z]:
21a70 5b 5c 5c 5c 5c 2f 5d 2a 29 20 74 68 69 73 64 69  [\\\\/]*) thisdi
21a80 72 3d 5c 22 5c 24 64 65 73 74 64 69 72 5c 22 20  r=\"\$destdir\" 
21a90 3b 3b 0a 20 20 20 20 20 20 2a 29 20 74 68 69 73  ;;.      *) this
21aa0 64 69 72 3d 5c 22 5c 24 74 68 69 73 64 69 72 2f  dir=\"\$thisdir/
21ab0 5c 24 64 65 73 74 64 69 72 5c 22 20 3b 3b 0a 20  \$destdir\" ;;. 
21ac0 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 66 69       esac.    fi
21ad0 0a 0a 20 20 20 20 66 69 6c 65 3d 5c 60 5c 24 65  ..    file=\`\$e
21ae0 63 68 6f 20 5c 22 58 5c 24 66 69 6c 65 5c 22 20  cho \"X\$file\" 
21af0 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 25 5e  | \$Xsed -e 's%^
21b00 2e 2a 2f 25 25 27 5c 60 0a 20 20 20 20 66 69 6c  .*/%%'\`.    fil
21b10 65 3d 5c 60 6c 73 20 2d 6c 64 20 5c 22 5c 24 74  e=\`ls -ld \"\$t
21b20 68 69 73 64 69 72 2f 5c 24 66 69 6c 65 5c 22 20  hisdir/\$file\" 
21b30 7c 20 24 7b 53 45 44 7d 20 2d 6e 20 27 73 2f 2e  | ${SED} -n 's/.
21b40 2a 2d 3e 20 2f 2f 70 27 5c 60 0a 20 20 64 6f 6e  *-> //p'\`.  don
21b50 65 0a 0a 20 20 23 20 54 72 79 20 74 6f 20 67 65  e..  # Try to ge
21b60 74 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 64  t the absolute d
21b70 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2e 0a 20  irectory name.. 
21b80 20 61 62 73 64 69 72 3d 5c 60 63 64 20 5c 22 5c   absdir=\`cd \"\
21b90 24 74 68 69 73 64 69 72 5c 22 20 26 26 20 70 77  $thisdir\" && pw
21ba0 64 5c 60 0a 20 20 74 65 73 74 20 2d 6e 20 5c 22  d\`.  test -n \"
21bb0 5c 24 61 62 73 64 69 72 5c 22 20 26 26 20 74 68  \$absdir\" && th
21bc0 69 73 64 69 72 3d 5c 22 5c 24 61 62 73 64 69 72  isdir=\"\$absdir
21bd0 5c 22 0a 22 0a 0a 09 69 66 20 74 65 73 74 20 22  \"."...if test "
21be0 24 66 61 73 74 5f 69 6e 73 74 61 6c 6c 22 20 3d  $fast_install" =
21bf0 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 24 65   yes; then..  $e
21c00 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
21c10 5c 0a 20 20 70 72 6f 67 72 61 6d 3d 6c 74 2d 27  \.  program=lt-'
21c20 24 6f 75 74 70 75 74 6e 61 6d 65 27 24 65 78 65  $outputname'$exe
21c30 65 78 74 0a 20 20 70 72 6f 67 64 69 72 3d 5c 22  ext.  progdir=\"
21c40 5c 24 74 68 69 73 64 69 72 2f 24 6f 62 6a 64 69  \$thisdir/$objdi
21c50 72 5c 22 0a 0a 20 20 69 66 20 74 65 73 74 20 21  r\"..  if test !
21c60 20 2d 66 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f   -f \"\$progdir/
21c70 5c 24 70 72 6f 67 72 61 6d 5c 22 20 7c 7c 20 5c  \$program\" || \
21c80 5c 0a 20 20 20 20 20 7b 20 66 69 6c 65 3d 5c 60  \.     { file=\`
21c90 6c 73 20 2d 31 64 74 20 5c 22 5c 24 70 72 6f 67  ls -1dt \"\$prog
21ca0 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 20  dir/\$program\" 
21cb0 5c 22 5c 24 70 72 6f 67 64 69 72 2f 2e 2e 2f 5c  \"\$progdir/../\
21cc0 24 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f 64 65  $program\" 2>/de
21cd0 76 2f 6e 75 6c 6c 20 7c 20 24 7b 53 45 44 7d 20  v/null | ${SED} 
21ce0 31 71 5c 60 3b 20 5c 5c 0a 20 20 20 20 20 20 20  1q\`; \\.       
21cf0 74 65 73 74 20 5c 22 58 5c 24 66 69 6c 65 5c 22  test \"X\$file\"
21d00 20 21 3d 20 5c 22 58 5c 24 70 72 6f 67 64 69 72   != \"X\$progdir
21d10 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 20 7d 3b  /\$program\"; };
21d20 20 74 68 65 6e 0a 0a 20 20 20 20 66 69 6c 65 3d   then..    file=
21d30 5c 22 5c 24 5c 24 2d 5c 24 70 72 6f 67 72 61 6d  \"\$\$-\$program
21d40 5c 22 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  \"..    if test 
21d50 21 20 2d 64 20 5c 22 5c 24 70 72 6f 67 64 69 72  ! -d \"\$progdir
21d60 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 24  \"; then.      $
21d70 6d 6b 64 69 72 20 5c 22 5c 24 70 72 6f 67 64 69  mkdir \"\$progdi
21d80 72 5c 22 0a 20 20 20 20 65 6c 73 65 0a 20 20 20  r\".    else.   
21d90 20 20 20 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64     $rm \"\$progd
21da0 69 72 2f 5c 24 66 69 6c 65 5c 22 0a 20 20 20 20  ir/\$file\".    
21db0 66 69 22 0a 0a 09 20 20 24 65 63 68 6f 20 3e 3e  fi"...  $echo >>
21dc0 20 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 20   $output "\..   
21dd0 20 23 20 72 65 6c 69 6e 6b 20 65 78 65 63 75 74   # relink execut
21de0 61 62 6c 65 20 69 66 20 6e 65 63 65 73 73 61 72  able if necessar
21df0 79 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  y.    if test -n
21e00 20 5c 22 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d   \"\$relink_comm
21e10 61 6e 64 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20  and\"; then.    
21e20 20 20 69 66 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d    if relink_comm
21e30 61 6e 64 5f 6f 75 74 70 75 74 3d 5c 60 65 76 61  and_output=\`eva
21e40 6c 20 5c 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  l \$relink_comma
21e50 6e 64 20 32 3e 26 31 5c 60 3b 20 74 68 65 6e 20  nd 2>&1\`; then 
21e60 3a 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 24 65  :.      else..$e
21e70 63 68 6f 20 5c 22 5c 24 72 65 6c 69 6e 6b 5f 63  cho \"\$relink_c
21e80 6f 6d 6d 61 6e 64 5f 6f 75 74 70 75 74 5c 22 20  ommand_output\" 
21e90 3e 26 32 0a 09 24 72 6d 20 5c 22 5c 24 70 72 6f  >&2..$rm \"\$pro
21ea0 67 64 69 72 2f 5c 24 66 69 6c 65 5c 22 0a 09 65  gdir/\$file\"..e
21eb0 78 69 74 20 31 0a 20 20 20 20 20 20 66 69 0a 20  xit 1.      fi. 
21ec0 20 20 20 66 69 0a 0a 20 20 20 20 24 6d 76 20 5c     fi..    $mv \
21ed0 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69 6c  "\$progdir/\$fil
21ee0 65 5c 22 20 5c 22 5c 24 70 72 6f 67 64 69 72 2f  e\" \"\$progdir/
21ef0 5c 24 70 72 6f 67 72 61 6d 5c 22 20 32 3e 2f 64  \$program\" 2>/d
21f00 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 20 20 20 20 7b  ev/null ||.    {
21f10 20 24 72 6d 20 5c 22 5c 24 70 72 6f 67 64 69 72   $rm \"\$progdir
21f20 2f 5c 24 70 72 6f 67 72 61 6d 5c 22 3b 0a 20 20  /\$program\";.  
21f30 20 20 20 20 24 6d 76 20 5c 22 5c 24 70 72 6f 67      $mv \"\$prog
21f40 64 69 72 2f 5c 24 66 69 6c 65 5c 22 20 5c 22 5c  dir/\$file\" \"\
21f50 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72  $progdir/\$progr
21f60 61 6d 5c 22 3b 20 7d 0a 20 20 20 20 24 72 6d 20  am\"; }.    $rm 
21f70 5c 22 5c 24 70 72 6f 67 64 69 72 2f 5c 24 66 69  \"\$progdir/\$fi
21f80 6c 65 5c 22 0a 20 20 66 69 22 0a 09 65 6c 73 65  le\".  fi"..else
21f90 0a 09 20 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75  ..  $echo >> $ou
21fa0 74 70 75 74 20 22 5c 0a 20 20 70 72 6f 67 72 61  tput "\.  progra
21fb0 6d 3d 27 24 6f 75 74 70 75 74 6e 61 6d 65 27 0a  m='$outputname'.
21fc0 20 20 70 72 6f 67 64 69 72 3d 5c 22 5c 24 74 68    progdir=\"\$th
21fd0 69 73 64 69 72 2f 24 6f 62 6a 64 69 72 5c 22 0a  isdir/$objdir\".
21fe0 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f 20 3e 3e  "..fi...$echo >>
21ff0 20 24 6f 75 74 70 75 74 20 22 5c 0a 0a 20 20 69   $output "\..  i
22000 66 20 74 65 73 74 20 2d 66 20 5c 22 5c 24 70 72  f test -f \"\$pr
22010 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72 61 6d 5c  ogdir/\$program\
22020 22 3b 20 74 68 65 6e 22 0a 0a 09 23 20 45 78 70  "; then"...# Exp
22030 6f 72 74 20 6f 75 72 20 73 68 6c 69 62 70 61 74  ort our shlibpat
22040 68 5f 76 61 72 20 69 66 20 77 65 20 68 61 76 65  h_var if we have
22050 20 6f 6e 65 2e 0a 09 69 66 20 74 65 73 74 20 22   one...if test "
22060 24 73 68 6c 69 62 70 61 74 68 5f 6f 76 65 72 72  $shlibpath_overr
22070 69 64 65 73 5f 72 75 6e 70 61 74 68 22 20 3d 20  ides_runpath" = 
22080 79 65 73 20 26 26 20 74 65 73 74 20 2d 6e 20 22  yes && test -n "
22090 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 22 20  $shlibpath_var" 
220a0 26 26 20 74 65 73 74 20 2d 6e 20 22 24 74 65 6d  && test -n "$tem
220b0 70 5f 72 70 61 74 68 22 3b 20 74 68 65 6e 0a 09  p_rpath"; then..
220c0 20 20 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70    $echo >> $outp
220d0 75 74 20 22 5c 0a 20 20 20 20 23 20 41 64 64 20  ut "\.    # Add 
220e0 6f 75 72 20 6f 77 6e 20 6c 69 62 72 61 72 79 20  our own library 
220f0 70 61 74 68 20 74 6f 20 24 73 68 6c 69 62 70 61  path to $shlibpa
22100 74 68 5f 76 61 72 0a 20 20 20 20 24 73 68 6c 69  th_var.    $shli
22110 62 70 61 74 68 5f 76 61 72 3d 5c 22 24 74 65 6d  bpath_var=\"$tem
22120 70 5f 72 70 61 74 68 5c 24 24 73 68 6c 69 62 70  p_rpath\$$shlibp
22130 61 74 68 5f 76 61 72 5c 22 0a 0a 20 20 20 20 23  ath_var\"..    #
22140 20 53 6f 6d 65 20 73 79 73 74 65 6d 73 20 63 61   Some systems ca
22150 6e 6e 6f 74 20 63 6f 70 65 20 77 69 74 68 20 63  nnot cope with c
22160 6f 6c 6f 6e 2d 74 65 72 6d 69 6e 61 74 65 64 20  olon-terminated 
22170 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 0a 20  $shlibpath_var. 
22180 20 20 20 23 20 54 68 65 20 73 65 63 6f 6e 64 20     # The second 
22190 63 6f 6c 6f 6e 20 69 73 20 61 20 77 6f 72 6b 61  colon is a worka
221a0 72 6f 75 6e 64 20 66 6f 72 20 61 20 62 75 67 20  round for a bug 
221b0 69 6e 20 42 65 4f 53 20 52 34 20 73 65 64 0a 20  in BeOS R4 sed. 
221c0 20 20 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61     $shlibpath_va
221d0 72 3d 5c 60 5c 24 65 63 68 6f 20 5c 22 58 5c 24  r=\`\$echo \"X\$
221e0 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22  $shlibpath_var\"
221f0 20 7c 20 5c 24 58 73 65 64 20 2d 65 20 27 73 2f   | \$Xsed -e 's/
22200 3a 3a 2a 5c 24 2f 2f 27 5c 60 0a 0a 20 20 20 20  ::*\$//'\`..    
22210 65 78 70 6f 72 74 20 24 73 68 6c 69 62 70 61 74  export $shlibpat
22220 68 5f 76 61 72 0a 22 0a 09 66 69 0a 0a 09 23 20  h_var."..fi...# 
22230 66 69 78 75 70 20 74 68 65 20 64 6c 6c 20 73 65  fixup the dll se
22240 61 72 63 68 70 61 74 68 20 69 66 20 77 65 20 6e  archpath if we n
22250 65 65 64 20 74 6f 2e 0a 09 69 66 20 74 65 73 74  eed to...if test
22260 20 2d 6e 20 22 24 64 6c 6c 73 65 61 72 63 68 70   -n "$dllsearchp
22270 61 74 68 22 3b 20 74 68 65 6e 0a 09 20 20 24 65  ath"; then..  $e
22280 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22  cho >> $output "
22290 5c 0a 20 20 20 20 23 20 41 64 64 20 74 68 65 20  \.    # Add the 
222a0 64 6c 6c 20 73 65 61 72 63 68 20 70 61 74 68 20  dll search path 
222b0 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20 74 68  components to th
222c0 65 20 65 78 65 63 75 74 61 62 6c 65 20 50 41 54  e executable PAT
222d0 48 0a 20 20 20 20 50 41 54 48 3d 24 64 6c 6c 73  H.    PATH=$dlls
222e0 65 61 72 63 68 70 61 74 68 3a 5c 24 50 41 54 48  earchpath:\$PATH
222f0 0a 22 0a 09 66 69 0a 0a 09 24 65 63 68 6f 20 3e  ."..fi...$echo >
22300 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a 20 20 20  > $output "\.   
22310 20 69 66 20 74 65 73 74 20 5c 22 5c 24 6c 69 62   if test \"\$lib
22320 74 6f 6f 6c 5f 65 78 65 63 75 74 65 5f 6d 61 67  tool_execute_mag
22330 69 63 5c 22 20 21 3d 20 5c 22 24 6d 61 67 69 63  ic\" != \"$magic
22340 5c 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 23  \"; then.      #
22350 20 52 75 6e 20 74 68 65 20 61 63 74 75 61 6c 20   Run the actual 
22360 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6f 75 72  program with our
22370 20 61 72 67 75 6d 65 6e 74 73 2e 0a 22 0a 09 63   arguments.."..c
22380 61 73 65 20 24 68 6f 73 74 20 69 6e 0a 09 23 20  ase $host in..# 
22390 42 61 63 6b 73 6c 61 73 68 65 73 20 73 65 70 61  Backslashes sepa
223a0 72 61 74 65 20 64 69 72 65 63 74 6f 72 69 65 73  rate directories
223b0 20 6f 6e 20 70 6c 61 69 6e 20 77 69 6e 64 6f 77   on plain window
223c0 73 0a 09 2a 2d 2a 2d 6d 69 6e 67 77 20 7c 20 2a  s..*-*-mingw | *
223d0 2d 2a 2d 6f 73 32 2a 29 0a 09 20 20 24 65 63 68  -*-os2*)..  $ech
223e0 6f 20 3e 3e 20 24 6f 75 74 70 75 74 20 22 5c 0a  o >> $output "\.
223f0 20 20 20 20 20 20 65 78 65 63 20 5c 24 70 72 6f        exec \$pro
22400 67 64 69 72 5c 5c 5c 5c 5c 24 70 72 6f 67 72 61  gdir\\\\\$progra
22410 6d 20 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d 0a  m \${1+\"\$@\"}.
22420 22 0a 09 20 20 3b 3b 0a 0a 09 2a 29 0a 09 20 20  "..  ;;...*)..  
22430 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
22440 20 22 5c 0a 20 20 20 20 20 20 65 78 65 63 20 5c   "\.      exec \
22450 24 70 72 6f 67 64 69 72 2f 5c 24 70 72 6f 67 72  $progdir/\$progr
22460 61 6d 20 5c 24 7b 31 2b 5c 22 5c 24 40 5c 22 7d  am \${1+\"\$@\"}
22470 0a 22 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 09  ."..  ;;..esac..
22480 24 65 63 68 6f 20 3e 3e 20 24 6f 75 74 70 75 74  $echo >> $output
22490 20 22 5c 0a 20 20 20 20 20 20 5c 24 65 63 68 6f   "\.      \$echo
224a0 20 5c 22 5c 24 30 3a 20 63 61 6e 6e 6f 74 20 65   \"\$0: cannot e
224b0 78 65 63 20 5c 24 70 72 6f 67 72 61 6d 20 5c 24  xec \$program \$
224c0 7b 31 2b 5c 22 5c 24 40 5c 22 7d 5c 22 0a 20 20  {1+\"\$@\"}\".  
224d0 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66      exit 1.    f
224e0 69 0a 20 20 65 6c 73 65 0a 20 20 20 20 23 20 54  i.  else.    # T
224f0 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 6e  he program doesn
22500 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 5c 24  't exist..    \$
22510 65 63 68 6f 20 5c 22 5c 24 30 3a 20 65 72 72 6f  echo \"\$0: erro
22520 72 3a 20 5c 24 70 72 6f 67 64 69 72 2f 5c 24 70  r: \$progdir/\$p
22530 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20  rogram does not 
22540 65 78 69 73 74 5c 22 20 31 3e 26 32 0a 20 20 20  exist\" 1>&2.   
22550 20 5c 24 65 63 68 6f 20 5c 22 54 68 69 73 20 73   \$echo \"This s
22560 63 72 69 70 74 20 69 73 20 6a 75 73 74 20 61 20  cript is just a 
22570 77 72 61 70 70 65 72 20 66 6f 72 20 5c 24 70 72  wrapper for \$pr
22580 6f 67 72 61 6d 2e 5c 22 20 31 3e 26 32 0a 20 20  ogram.\" 1>&2.  
22590 20 20 24 65 63 68 6f 20 5c 22 53 65 65 20 74 68    $echo \"See th
225a0 65 20 24 50 41 43 4b 41 47 45 20 64 6f 63 75 6d  e $PACKAGE docum
225b0 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6d 6f 72  entation for mor
225c0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 5c 22  e information.\"
225d0 20 31 3e 26 32 0a 20 20 20 20 65 78 69 74 20 31   1>&2.    exit 1
225e0 0a 20 20 66 69 0a 66 69 5c 0a 22 0a 09 63 68 6d  .  fi.fi\."..chm
225f0 6f 64 20 2b 78 20 24 6f 75 74 70 75 74 0a 20 20  od +x $output.  
22600 20 20 20 20 66 69 0a 20 20 20 20 20 20 65 78 69      fi.      exi
22610 74 20 30 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20  t 0.      ;;.   
22620 20 65 73 61 63 0a 0a 20 20 20 20 23 20 53 65 65   esac..    # See
22630 20 69 66 20 77 65 20 6e 65 65 64 20 74 6f 20 62   if we need to b
22640 75 69 6c 64 20 61 6e 20 6f 6c 64 2d 66 61 73 68  uild an old-fash
22650 69 6f 6e 65 64 20 61 72 63 68 69 76 65 2e 0a 20  ioned archive.. 
22660 20 20 20 66 6f 72 20 6f 6c 64 6c 69 62 20 69 6e     for oldlib in
22670 20 24 6f 6c 64 6c 69 62 73 3b 20 64 6f 0a 0a 20   $oldlibs; do.. 
22680 20 20 20 20 20 69 66 20 74 65 73 74 20 22 24 62       if test "$b
22690 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c 5f 6c 69 62  uild_libtool_lib
226a0 73 22 20 3d 20 63 6f 6e 76 65 6e 69 65 6e 63 65  s" = convenience
226b0 3b 20 74 68 65 6e 0a 09 6f 6c 64 6f 62 6a 73 3d  ; then..oldobjs=
226c0 22 24 6c 69 62 6f 62 6a 73 5f 73 61 76 65 22 0a  "$libobjs_save".
226d0 09 61 64 64 6c 69 62 73 3d 22 24 63 6f 6e 76 65  .addlibs="$conve
226e0 6e 69 65 6e 63 65 22 0a 09 62 75 69 6c 64 5f 6c  nience"..build_l
226f0 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 20  ibtool_libs=no. 
22700 20 20 20 20 20 65 6c 73 65 0a 09 69 66 20 74 65       else..if te
22710 73 74 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f  st "$build_libto
22720 6f 6c 5f 6c 69 62 73 22 20 3d 20 6d 6f 64 75 6c  ol_libs" = modul
22730 65 3b 20 74 68 65 6e 0a 09 20 20 6f 6c 64 6f 62  e; then..  oldob
22740 6a 73 3d 22 24 6c 69 62 6f 62 6a 73 5f 73 61 76  js="$libobjs_sav
22750 65 22 0a 09 20 20 62 75 69 6c 64 5f 6c 69 62 74  e"..  build_libt
22760 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a 09 65 6c 73  ool_libs=no..els
22770 65 0a 09 20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f  e..  oldobjs="$o
22780 6c 64 5f 64 65 70 6c 69 62 73 20 24 6e 6f 6e 5f  ld_deplibs $non_
22790 70 69 63 5f 6f 62 6a 65 63 74 73 22 0a 09 66 69  pic_objects"..fi
227a0 0a 09 61 64 64 6c 69 62 73 3d 22 24 6f 6c 64 5f  ..addlibs="$old_
227b0 63 6f 6e 76 65 6e 69 65 6e 63 65 22 0a 20 20 20  convenience".   
227c0 20 20 20 66 69 0a 0a 20 20 20 20 20 20 69 66 20     fi..      if 
227d0 74 65 73 74 20 2d 6e 20 22 24 61 64 64 6c 69 62  test -n "$addlib
227e0 73 22 3b 20 74 68 65 6e 0a 09 67 65 6e 74 6f 70  s"; then..gentop
227f0 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  ="$output_objdir
22800 2f 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 78 22  /${outputname}x"
22810 0a 09 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72 20  ..$show "${rm}r 
22820 24 67 65 6e 74 6f 70 22 0a 09 24 72 75 6e 20 24  $gentop"..$run $
22830 7b 72 6d 7d 72 20 22 24 67 65 6e 74 6f 70 22 0a  {rm}r "$gentop".
22840 09 24 73 68 6f 77 20 22 24 6d 6b 64 69 72 20 24  .$show "$mkdir $
22850 67 65 6e 74 6f 70 22 0a 09 24 72 75 6e 20 24 6d  gentop"..$run $m
22860 6b 64 69 72 20 22 24 67 65 6e 74 6f 70 22 0a 09  kdir "$gentop"..
22870 73 74 61 74 75 73 3d 24 3f 0a 09 69 66 20 74 65  status=$?..if te
22880 73 74 20 22 24 73 74 61 74 75 73 22 20 2d 6e 65  st "$status" -ne
22890 20 30 20 26 26 20 74 65 73 74 20 21 20 2d 64 20   0 && test ! -d 
228a0 22 24 67 65 6e 74 6f 70 22 3b 20 74 68 65 6e 0a  "$gentop"; then.
228b0 09 20 20 65 78 69 74 20 24 73 74 61 74 75 73 0a  .  exit $status.
228c0 09 66 69 0a 09 67 65 6e 65 72 61 74 65 64 3d 22  .fi..generated="
228d0 24 67 65 6e 65 72 61 74 65 64 20 24 67 65 6e 74  $generated $gent
228e0 6f 70 22 0a 0a 09 23 20 41 64 64 20 69 6e 20 6d  op"...# Add in m
228f0 65 6d 62 65 72 73 20 66 72 6f 6d 20 63 6f 6e 76  embers from conv
22900 65 6e 69 65 6e 63 65 20 61 72 63 68 69 76 65 73  enience archives
22910 2e 0a 09 66 6f 72 20 78 6c 69 62 20 69 6e 20 24  ...for xlib in $
22920 61 64 64 6c 69 62 73 3b 20 64 6f 0a 09 20 20 23  addlibs; do..  #
22930 20 45 78 74 72 61 63 74 20 74 68 65 20 6f 62 6a   Extract the obj
22940 65 63 74 73 2e 0a 09 20 20 63 61 73 65 20 24 78  ects...  case $x
22950 6c 69 62 20 69 6e 0a 09 20 20 5b 5c 5c 2f 5d 2a  lib in..  [\\/]*
22960 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c 2f   | [A-Za-z]:[\\/
22970 5d 2a 29 20 78 61 62 73 3d 22 24 78 6c 69 62 22  ]*) xabs="$xlib"
22980 20 3b 3b 0a 09 20 20 2a 29 20 78 61 62 73 3d 60   ;;..  *) xabs=`
22990 70 77 64 60 22 2f 24 78 6c 69 62 22 20 3b 3b 0a  pwd`"/$xlib" ;;.
229a0 09 20 20 65 73 61 63 0a 09 20 20 78 6c 69 62 3d  .  esac..  xlib=
229b0 60 24 65 63 68 6f 20 22 58 24 78 6c 69 62 22 20  `$echo "X$xlib" 
229c0 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
229d0 2a 2f 25 25 27 60 0a 09 20 20 78 64 69 72 3d 22  */%%'`..  xdir="
229e0 24 67 65 6e 74 6f 70 2f 24 78 6c 69 62 22 0a 0a  $gentop/$xlib"..
229f0 09 20 20 24 73 68 6f 77 20 22 24 7b 72 6d 7d 72  .  $show "${rm}r
22a00 20 24 78 64 69 72 22 0a 09 20 20 24 72 75 6e 20   $xdir"..  $run 
22a10 24 7b 72 6d 7d 72 20 22 24 78 64 69 72 22 0a 09  ${rm}r "$xdir"..
22a20 20 20 24 73 68 6f 77 20 22 24 6d 6b 64 69 72 20    $show "$mkdir 
22a30 24 78 64 69 72 22 0a 09 20 20 24 72 75 6e 20 24  $xdir"..  $run $
22a40 6d 6b 64 69 72 20 22 24 78 64 69 72 22 0a 09 20  mkdir "$xdir".. 
22a50 20 73 74 61 74 75 73 3d 24 3f 0a 09 20 20 69 66   status=$?..  if
22a60 20 74 65 73 74 20 22 24 73 74 61 74 75 73 22 20   test "$status" 
22a70 2d 6e 65 20 30 20 26 26 20 74 65 73 74 20 21 20  -ne 0 && test ! 
22a80 2d 64 20 22 24 78 64 69 72 22 3b 20 74 68 65 6e  -d "$xdir"; then
22a90 0a 09 20 20 20 20 65 78 69 74 20 24 73 74 61 74  ..    exit $stat
22aa0 75 73 0a 09 20 20 66 69 0a 09 20 20 23 20 57 65  us..  fi..  # We
22ab0 20 77 69 6c 6c 20 65 78 74 72 61 63 74 20 73 65   will extract se
22ac0 70 61 72 61 74 65 6c 79 20 6a 75 73 74 20 74 68  parately just th
22ad0 65 20 63 6f 6e 66 6c 69 63 74 69 6e 67 20 6e 61  e conflicting na
22ae0 6d 65 73 20 61 6e 64 20 77 65 20 77 69 6c 6c 20  mes and we will 
22af0 6e 6f 0a 09 20 20 23 20 6c 6f 6e 67 65 72 20 74  no..  # longer t
22b00 6f 75 63 68 20 61 6e 79 20 75 6e 69 71 75 65 20  ouch any unique 
22b10 6e 61 6d 65 73 2e 20 49 74 20 69 73 20 66 61 73  names. It is fas
22b20 74 65 72 20 74 6f 20 6c 65 61 76 65 20 74 68 65  ter to leave the
22b30 73 65 20 65 78 74 72 61 63 74 0a 09 20 20 23 20  se extract..  # 
22b40 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 79  automatically by
22b50 20 24 41 52 20 69 6e 20 6f 6e 65 20 72 75 6e 2e   $AR in one run.
22b60 0a 09 20 20 24 73 68 6f 77 20 22 28 63 64 20 24  ..  $show "(cd $
22b70 78 64 69 72 20 26 26 20 24 41 52 20 78 20 24 78  xdir && $AR x $x
22b80 61 62 73 29 22 0a 09 20 20 24 72 75 6e 20 65 76  abs)"..  $run ev
22b90 61 6c 20 22 28 63 64 20 5c 24 78 64 69 72 20 26  al "(cd \$xdir &
22ba0 26 20 24 41 52 20 78 20 5c 24 78 61 62 73 29 22  & $AR x \$xabs)"
22bb0 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20 20 69   || exit $?..  i
22bc0 66 20 28 24 41 52 20 74 20 22 24 78 61 62 73 22  f ($AR t "$xabs"
22bd0 20 7c 20 73 6f 72 74 20 7c 20 73 6f 72 74 20 2d   | sort | sort -
22be0 75 63 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e  uc >/dev/null 2>
22bf0 26 31 29 3b 20 74 68 65 6e 0a 09 20 20 20 20 3a  &1); then..    :
22c00 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 24 65  ..  else..    $e
22c10 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
22c20 77 61 72 6e 69 6e 67 3a 20 6f 62 6a 65 63 74 20  warning: object 
22c30 6e 61 6d 65 20 63 6f 6e 66 6c 69 63 74 73 3b 20  name conflicts; 
22c40 72 65 6e 61 6d 69 6e 67 20 6f 62 6a 65 63 74 20  renaming object 
22c50 66 69 6c 65 73 22 20 31 3e 26 32 0a 09 20 20 20  files" 1>&2..   
22c60 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
22c70 65 3a 20 77 61 72 6e 69 6e 67 3a 20 74 6f 20 65  e: warning: to e
22c80 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 79 20  nsure that they 
22c90 77 69 6c 6c 20 6e 6f 74 20 6f 76 65 72 77 72 69  will not overwri
22ca0 74 65 22 20 31 3e 26 32 0a 09 20 20 20 20 24 41  te" 1>&2..    $A
22cb0 52 20 74 20 22 24 78 61 62 73 22 20 7c 20 73 6f  R t "$xabs" | so
22cc0 72 74 20 7c 20 75 6e 69 71 20 2d 63 64 20 7c 20  rt | uniq -cd | 
22cd0 77 68 69 6c 65 20 72 65 61 64 20 2d 72 20 63 6f  while read -r co
22ce0 75 6e 74 20 6e 61 6d 65 0a 09 20 20 20 20 64 6f  unt name..    do
22cf0 0a 09 20 20 20 20 20 20 69 3d 31 0a 09 20 20 20  ..      i=1..   
22d00 20 20 20 77 68 69 6c 65 20 74 65 73 74 20 22 24     while test "$
22d10 69 22 20 2d 6c 65 20 22 24 63 6f 75 6e 74 22 0a  i" -le "$count".
22d20 09 20 20 20 20 20 20 64 6f 0a 09 20 20 20 20 20  .      do..     
22d30 20 20 23 20 50 75 74 20 6f 75 72 20 24 69 20 62    # Put our $i b
22d40 65 66 6f 72 65 20 61 6e 79 20 66 69 72 73 74 20  efore any first 
22d50 64 6f 74 20 28 65 78 74 65 6e 73 69 6f 6e 29 0a  dot (extension).
22d60 09 20 20 20 20 20 20 20 23 20 4e 65 76 65 72 20  .       # Never 
22d70 6f 76 65 72 77 72 69 74 65 20 61 6e 79 20 66 69  overwrite any fi
22d80 6c 65 0a 09 20 20 20 20 20 20 20 6e 61 6d 65 5f  le..       name_
22d90 74 6f 3d 22 24 6e 61 6d 65 22 0a 09 20 20 20 20  to="$name"..    
22da0 20 20 20 77 68 69 6c 65 20 74 65 73 74 20 22 58     while test "X
22db0 24 6e 61 6d 65 5f 74 6f 22 20 3d 20 22 58 24 6e  $name_to" = "X$n
22dc0 61 6d 65 22 20 7c 7c 20 74 65 73 74 20 2d 66 20  ame" || test -f 
22dd0 22 24 78 64 69 72 2f 24 6e 61 6d 65 5f 74 6f 22  "$xdir/$name_to"
22de0 0a 09 20 20 20 20 20 20 20 64 6f 0a 09 09 20 6e  ..       do... n
22df0 61 6d 65 5f 74 6f 3d 60 24 65 63 68 6f 20 22 58  ame_to=`$echo "X
22e00 24 6e 61 6d 65 5f 74 6f 22 20 7c 20 24 58 73 65  $name_to" | $Xse
22e10 64 20 2d 65 20 22 73 2f 5c 28 5b 5e 2e 5d 2a 5c  d -e "s/\([^.]*\
22e20 29 2f 5c 31 2d 24 69 2f 22 60 0a 09 20 20 20 20  )/\1-$i/"`..    
22e30 20 20 20 64 6f 6e 65 0a 09 20 20 20 20 20 20 20     done..       
22e40 24 73 68 6f 77 20 22 28 63 64 20 24 78 64 69 72  $show "(cd $xdir
22e50 20 26 26 20 24 41 52 20 78 4e 20 24 69 20 24 78   && $AR xN $i $x
22e60 61 62 73 20 27 24 6e 61 6d 65 27 20 26 26 20 24  abs '$name' && $
22e70 6d 76 20 27 24 6e 61 6d 65 27 20 27 24 6e 61 6d  mv '$name' '$nam
22e80 65 5f 74 6f 27 29 22 0a 09 20 20 20 20 20 20 20  e_to')"..       
22e90 24 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20 5c  $run eval "(cd \
22ea0 24 78 64 69 72 20 26 26 20 24 41 52 20 78 4e 20  $xdir && $AR xN 
22eb0 24 69 20 5c 24 78 61 62 73 20 27 24 6e 61 6d 65  $i \$xabs '$name
22ec0 27 20 26 26 20 24 6d 76 20 27 24 6e 61 6d 65 27  ' && $mv '$name'
22ed0 20 27 24 6e 61 6d 65 5f 74 6f 27 29 22 20 7c 7c   '$name_to')" ||
22ee0 20 65 78 69 74 20 24 3f 0a 09 20 20 20 20 20 20   exit $?..      
22ef0 20 69 3d 60 65 78 70 72 20 24 69 20 2b 20 31 60   i=`expr $i + 1`
22f00 0a 09 20 20 20 20 20 20 64 6f 6e 65 0a 09 20 20  ..      done..  
22f10 20 20 64 6f 6e 65 0a 09 20 20 66 69 0a 0a 09 20    done..  fi... 
22f20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f 6c 64 6f 62   oldobjs="$oldob
22f30 6a 73 20 22 60 66 69 6e 64 20 24 78 64 69 72 20  js "`find $xdir 
22f40 2d 6e 61 6d 65 20 5c 2a 2e 24 7b 6f 62 6a 65 78  -name \*.${objex
22f50 74 7d 20 2d 70 72 69 6e 74 20 2d 6f 20 2d 6e 61  t} -print -o -na
22f60 6d 65 20 5c 2a 2e 6c 6f 20 2d 70 72 69 6e 74 20  me \*.lo -print 
22f70 7c 20 24 4e 4c 32 53 50 60 0a 09 64 6f 6e 65 0a  | $NL2SP`..done.
22f80 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
22f90 23 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e  # Do each comman
22fa0 64 20 69 6e 20 74 68 65 20 61 72 63 68 69 76 65  d in the archive
22fb0 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 20   commands..     
22fc0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c   if test -n "$ol
22fd0 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d 5f 6e  d_archive_from_n
22fe0 65 77 5f 63 6d 64 73 22 20 26 26 20 74 65 73 74  ew_cmds" && test
22ff0 20 22 24 62 75 69 6c 64 5f 6c 69 62 74 6f 6f 6c   "$build_libtool
23000 5f 6c 69 62 73 22 20 3d 20 79 65 73 3b 20 74 68  _libs" = yes; th
23010 65 6e 0a 20 20 20 20 20 20 20 63 6d 64 73 3d 24  en.       cmds=$
23020 6f 6c 64 5f 61 72 63 68 69 76 65 5f 66 72 6f 6d  old_archive_from
23030 5f 6e 65 77 5f 63 6d 64 73 0a 20 20 20 20 20 20  _new_cmds.      
23040 65 6c 73 65 0a 09 65 76 61 6c 20 63 6d 64 73 3d  else..eval cmds=
23050 5c 22 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 63  \"$old_archive_c
23060 6d 64 73 5c 22 0a 0a 09 69 66 20 6c 65 6e 3d 60  mds\"...if len=`
23070 65 78 70 72 20 22 58 24 63 6d 64 73 22 20 3a 20  expr "X$cmds" : 
23080 22 2e 2a 22 60 20 26 26 0a 09 20 20 20 20 20 74  ".*"` &&..     t
23090 65 73 74 20 22 24 6c 65 6e 22 20 2d 6c 65 20 22  est "$len" -le "
230a0 24 6d 61 78 5f 63 6d 64 5f 6c 65 6e 22 20 7c 7c  $max_cmd_len" ||
230b0 20 74 65 73 74 20 22 24 6d 61 78 5f 63 6d 64 5f   test "$max_cmd_
230c0 6c 65 6e 22 20 2d 6c 65 20 2d 31 3b 20 74 68 65  len" -le -1; the
230d0 6e 0a 09 20 20 63 6d 64 73 3d 24 6f 6c 64 5f 61  n..  cmds=$old_a
230e0 72 63 68 69 76 65 5f 63 6d 64 73 0a 09 65 6c 73  rchive_cmds..els
230f0 65 0a 09 20 20 23 20 74 68 65 20 63 6f 6d 6d 61  e..  # the comma
23100 6e 64 20 6c 69 6e 65 20 69 73 20 74 6f 6f 20 6c  nd line is too l
23110 6f 6e 67 20 74 6f 20 6c 69 6e 6b 20 69 6e 20 6f  ong to link in o
23120 6e 65 20 73 74 65 70 2c 20 6c 69 6e 6b 20 69 6e  ne step, link in
23130 20 70 61 72 74 73 0a 09 20 20 24 65 63 68 6f 20   parts..  $echo 
23140 22 75 73 69 6e 67 20 70 69 65 63 65 77 69 73 65  "using piecewise
23150 20 61 72 63 68 69 76 65 20 6c 69 6e 6b 69 6e 67   archive linking
23160 2e 2e 2e 22 0a 09 20 20 73 61 76 65 5f 52 41 4e  ..."..  save_RAN
23170 4c 49 42 3d 24 52 41 4e 4c 49 42 0a 09 20 20 52  LIB=$RANLIB..  R
23180 41 4e 4c 49 42 3d 3a 0a 09 20 20 6f 62 6a 6c 69  ANLIB=:..  objli
23190 73 74 3d 0a 09 20 20 63 6f 6e 63 61 74 5f 63 6d  st=..  concat_cm
231a0 64 73 3d 0a 09 20 20 73 61 76 65 5f 6f 6c 64 6f  ds=..  save_oldo
231b0 62 6a 73 3d 24 6f 6c 64 6f 62 6a 73 0a 09 20 20  bjs=$oldobjs..  
231c0 23 20 47 4e 55 20 61 72 20 32 2e 31 30 2b 20 77  # GNU ar 2.10+ w
231d0 61 73 20 63 68 61 6e 67 65 64 20 74 6f 20 6d 61  as changed to ma
231e0 74 63 68 20 50 4f 53 49 58 3b 20 74 68 75 73 20  tch POSIX; thus 
231f0 6e 6f 20 70 61 74 68 73 20 61 72 65 0a 09 20 20  no paths are..  
23200 23 20 65 6e 63 6f 64 65 64 20 69 6e 74 6f 20 61  # encoded into a
23210 72 63 68 69 76 65 73 2e 20 20 54 68 69 73 20 6d  rchives.  This m
23220 61 6b 65 73 20 27 61 72 20 72 27 20 6d 61 6c 66  akes 'ar r' malf
23230 75 6e 63 74 69 6f 6e 20 69 6e 0a 09 20 20 23 20  unction in..  # 
23240 74 68 69 73 20 70 69 65 63 65 77 69 73 65 20 6c  this piecewise l
23250 69 6e 6b 69 6e 67 20 63 61 73 65 20 77 68 65 6e  inking case when
23260 65 76 65 72 20 63 6f 6e 66 6c 69 63 74 69 6e 67  ever conflicting
23270 20 6f 62 6a 65 63 74 0a 09 20 20 23 20 6e 61 6d   object..  # nam
23280 65 73 20 61 70 70 65 61 72 20 69 6e 20 64 69 73  es appear in dis
23290 74 69 6e 63 74 20 61 72 20 63 61 6c 6c 73 3b 20  tinct ar calls; 
232a0 63 68 65 63 6b 2c 20 77 61 72 6e 20 61 6e 64 20  check, warn and 
232b0 63 6f 6d 70 65 6e 73 61 74 65 2e 0a 09 20 20 20  compensate...   
232c0 20 69 66 20 28 66 6f 72 20 6f 62 6a 20 69 6e 20   if (for obj in 
232d0 24 73 61 76 65 5f 6f 6c 64 6f 62 6a 73 0a 09 20  $save_oldobjs.. 
232e0 20 20 20 64 6f 0a 09 20 20 20 20 20 20 24 65 63     do..      $ec
232f0 68 6f 20 22 58 24 6f 62 6a 22 20 7c 20 24 58 73  ho "X$obj" | $Xs
23300 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27  ed -e 's%^.*/%%'
23310 0a 09 20 20 20 20 64 6f 6e 65 20 7c 20 73 6f 72  ..    done | sor
23320 74 20 7c 20 73 6f 72 74 20 2d 75 63 20 3e 2f 64  t | sort -uc >/d
23330 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 29 3b 20 74  ev/null 2>&1); t
23340 68 65 6e 0a 09 20 20 20 20 3a 0a 09 20 20 65 6c  hen..    :..  el
23350 73 65 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24  se..    $echo "$
23360 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
23370 67 3a 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 63  g: object name c
23380 6f 6e 66 6c 69 63 74 73 3b 20 6f 76 65 72 72 69  onflicts; overri
23390 64 69 6e 67 20 41 52 5f 46 4c 41 47 53 20 74 6f  ding AR_FLAGS to
233a0 20 27 63 71 27 22 20 31 3e 26 32 0a 09 20 20 20   'cq'" 1>&2..   
233b0 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
233c0 65 3a 20 77 61 72 6e 69 6e 67 3a 20 74 6f 20 65  e: warning: to e
233d0 6e 73 75 72 65 20 74 68 61 74 20 50 4f 53 49 58  nsure that POSIX
233e0 2d 63 6f 6d 70 61 74 69 62 6c 65 20 61 72 20 77  -compatible ar w
233f0 69 6c 6c 20 77 6f 72 6b 22 20 31 3e 26 32 0a 09  ill work" 1>&2..
23400 20 20 20 20 41 52 5f 46 4c 41 47 53 3d 63 71 0a      AR_FLAGS=cq.
23410 09 20 20 66 69 0a 09 20 20 23 20 49 73 20 74 68  .  fi..  # Is th
23420 65 72 65 20 61 20 62 65 74 74 65 72 20 77 61 79  ere a better way
23430 20 6f 66 20 66 69 6e 64 69 6e 67 20 74 68 65 20   of finding the 
23440 6c 61 73 74 20 6f 62 6a 65 63 74 20 69 6e 20 74  last object in t
23450 68 65 20 6c 69 73 74 3f 0a 09 20 20 66 6f 72 20  he list?..  for 
23460 6f 62 6a 20 69 6e 20 24 73 61 76 65 5f 6f 6c 64  obj in $save_old
23470 6f 62 6a 73 0a 09 20 20 64 6f 0a 09 20 20 20 20  objs..  do..    
23480 6c 61 73 74 5f 6f 6c 64 6f 62 6a 3d 24 6f 62 6a  last_oldobj=$obj
23490 0a 09 20 20 64 6f 6e 65 20 20 0a 09 20 20 66 6f  ..  done  ..  fo
234a0 72 20 6f 62 6a 20 69 6e 20 24 73 61 76 65 5f 6f  r obj in $save_o
234b0 6c 64 6f 62 6a 73 0a 09 20 20 64 6f 0a 09 20 20  ldobjs..  do..  
234c0 20 20 6f 6c 64 6f 62 6a 73 3d 22 24 6f 62 6a 6c    oldobjs="$objl
234d0 69 73 74 20 24 6f 62 6a 22 0a 09 20 20 20 20 6f  ist $obj"..    o
234e0 62 6a 6c 69 73 74 3d 22 24 6f 62 6a 6c 69 73 74  bjlist="$objlist
234f0 20 24 6f 62 6a 22 0a 09 20 20 20 20 65 76 61 6c   $obj"..    eval
23500 20 74 65 73 74 5f 63 6d 64 73 3d 5c 22 24 6f 6c   test_cmds=\"$ol
23510 64 5f 61 72 63 68 69 76 65 5f 63 6d 64 73 5c 22  d_archive_cmds\"
23520 0a 09 20 20 20 20 69 66 20 6c 65 6e 3d 60 65 78  ..    if len=`ex
23530 70 72 20 22 58 24 74 65 73 74 5f 63 6d 64 73 22  pr "X$test_cmds"
23540 20 3a 20 22 2e 2a 22 60 20 26 26 0a 09 20 20 20   : ".*"` &&..   
23550 20 20 20 20 74 65 73 74 20 22 24 6c 65 6e 22 20      test "$len" 
23560 2d 6c 65 20 22 24 6d 61 78 5f 63 6d 64 5f 6c 65  -le "$max_cmd_le
23570 6e 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  n"; then..      
23580 3a 0a 09 20 20 20 20 65 6c 73 65 0a 09 20 20 20  :..    else..   
23590 20 20 20 23 20 74 68 65 20 61 62 6f 76 65 20 63     # the above c
235a0 6f 6d 6d 61 6e 64 20 73 68 6f 75 6c 64 20 62 65  ommand should be
235b0 20 75 73 65 64 20 62 65 66 6f 72 65 20 69 74 20   used before it 
235c0 67 65 74 73 20 74 6f 6f 20 6c 6f 6e 67 0a 09 20  gets too long.. 
235d0 20 20 20 20 20 6f 6c 64 6f 62 6a 73 3d 24 6f 62       oldobjs=$ob
235e0 6a 6c 69 73 74 0a 09 20 20 20 20 20 20 69 66 20  jlist..      if 
235f0 74 65 73 74 20 22 24 6f 62 6a 22 20 3d 20 22 24  test "$obj" = "$
23600 6c 61 73 74 5f 6f 6c 64 6f 62 6a 22 20 3b 20 74  last_oldobj" ; t
23610 68 65 6e 0a 09 20 20 20 20 20 20 20 20 52 41 4e  hen..        RAN
23620 4c 49 42 3d 24 73 61 76 65 5f 52 41 4e 4c 49 42  LIB=$save_RANLIB
23630 0a 09 20 20 20 20 20 20 66 69 20 20 0a 09 20 20  ..      fi  ..  
23640 20 20 20 20 74 65 73 74 20 2d 7a 20 22 24 63 6f      test -z "$co
23650 6e 63 61 74 5f 63 6d 64 73 22 20 7c 7c 20 63 6f  ncat_cmds" || co
23660 6e 63 61 74 5f 63 6d 64 73 3d 24 63 6f 6e 63 61  ncat_cmds=$conca
23670 74 5f 63 6d 64 73 7e 0a 09 20 20 20 20 20 20 65  t_cmds~..      e
23680 76 61 6c 20 63 6f 6e 63 61 74 5f 63 6d 64 73 3d  val concat_cmds=
23690 5c 22 5c 24 7b 63 6f 6e 63 61 74 5f 63 6d 64 73  \"\${concat_cmds
236a0 7d 24 6f 6c 64 5f 61 72 63 68 69 76 65 5f 63 6d  }$old_archive_cm
236b0 64 73 5c 22 0a 09 20 20 20 20 20 20 6f 62 6a 6c  ds\"..      objl
236c0 69 73 74 3d 0a 09 20 20 20 20 66 69 0a 09 20 20  ist=..    fi..  
236d0 64 6f 6e 65 0a 09 20 20 52 41 4e 4c 49 42 3d 24  done..  RANLIB=$
236e0 73 61 76 65 5f 52 41 4e 4c 49 42 0a 09 20 20 6f  save_RANLIB..  o
236f0 6c 64 6f 62 6a 73 3d 24 6f 62 6a 6c 69 73 74 0a  ldobjs=$objlist.
23700 09 20 20 69 66 20 74 65 73 74 20 22 58 24 6f 6c  .  if test "X$ol
23710 64 6f 62 6a 73 22 20 3d 20 22 58 22 20 3b 20 74  dobjs" = "X" ; t
23720 68 65 6e 0a 09 20 20 20 20 65 76 61 6c 20 63 6d  hen..    eval cm
23730 64 73 3d 5c 22 5c 24 63 6f 6e 63 61 74 5f 63 6d  ds=\"\$concat_cm
23740 64 73 5c 22 0a 09 20 20 65 6c 73 65 0a 09 20 20  ds\"..  else..  
23750 20 20 65 76 61 6c 20 63 6d 64 73 3d 5c 22 5c 24    eval cmds=\"\$
23760 63 6f 6e 63 61 74 5f 63 6d 64 73 7e 5c 24 6f 6c  concat_cmds~\$ol
23770 64 5f 61 72 63 68 69 76 65 5f 63 6d 64 73 5c 22  d_archive_cmds\"
23780 0a 09 20 20 66 69 0a 09 66 69 0a 20 20 20 20 20  ..  fi..fi.     
23790 20 66 69 0a 20 20 20 20 20 20 73 61 76 65 5f 69   fi.      save_i
237a0 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53 3d 27  fs="$IFS"; IFS='
237b0 7e 27 0a 20 20 20 20 20 20 66 6f 72 20 63 6d 64  ~'.      for cmd
237c0 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a 20 20   in $cmds; do.  
237d0 20 20 20 20 20 20 65 76 61 6c 20 63 6d 64 3d 5c        eval cmd=\
237e0 22 24 63 6d 64 5c 22 0a 09 49 46 53 3d 22 24 73  "$cmd\"..IFS="$s
237f0 61 76 65 5f 69 66 73 22 0a 09 24 73 68 6f 77 20  ave_ifs"..$show 
23800 22 24 63 6d 64 22 0a 09 24 72 75 6e 20 65 76 61  "$cmd"..$run eva
23810 6c 20 22 24 63 6d 64 22 20 7c 7c 20 65 78 69 74  l "$cmd" || exit
23820 20 24 3f 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20   $?.      done. 
23830 20 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f       IFS="$save_
23840 69 66 73 22 0a 20 20 20 20 64 6f 6e 65 0a 0a 20  ifs".    done.. 
23850 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24     if test -n "$
23860 67 65 6e 65 72 61 74 65 64 22 3b 20 74 68 65 6e  generated"; then
23870 0a 20 20 20 20 20 20 24 73 68 6f 77 20 22 24 7b  .      $show "${
23880 72 6d 7d 72 24 67 65 6e 65 72 61 74 65 64 22 0a  rm}r$generated".
23890 20 20 20 20 20 20 24 72 75 6e 20 24 7b 72 6d 7d        $run ${rm}
238a0 72 24 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20  r$generated.    
238b0 66 69 0a 0a 20 20 20 20 23 20 4e 6f 77 20 63 72  fi..    # Now cr
238c0 65 61 74 65 20 74 68 65 20 6c 69 62 74 6f 6f 6c  eate the libtool
238d0 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20 63 61   archive..    ca
238e0 73 65 20 24 6f 75 74 70 75 74 20 69 6e 0a 20 20  se $output in.  
238f0 20 20 2a 2e 6c 61 29 0a 20 20 20 20 20 20 6f 6c    *.la).      ol
23900 64 5f 6c 69 62 72 61 72 79 3d 0a 20 20 20 20 20  d_library=.     
23910 20 74 65 73 74 20 22 24 62 75 69 6c 64 5f 6f 6c   test "$build_ol
23920 64 5f 6c 69 62 73 22 20 3d 20 79 65 73 20 26 26  d_libs" = yes &&
23930 20 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 22 24 6c   old_library="$l
23940 69 62 6e 61 6d 65 2e 24 6c 69 62 65 78 74 22 0a  ibname.$libext".
23950 20 20 20 20 20 20 24 73 68 6f 77 20 22 63 72 65        $show "cre
23960 61 74 69 6e 67 20 24 6f 75 74 70 75 74 22 0a 0a  ating $output"..
23970 20 20 20 20 20 20 23 20 50 72 65 73 65 72 76 65        # Preserve
23980 20 61 6e 79 20 76 61 72 69 61 62 6c 65 73 20 74   any variables t
23990 68 61 74 20 6d 61 79 20 61 66 66 65 63 74 20 63  hat may affect c
239a0 6f 6d 70 69 6c 65 72 20 62 65 68 61 76 69 6f 72  ompiler behavior
239b0 0a 20 20 20 20 20 20 66 6f 72 20 76 61 72 20 69  .      for var i
239c0 6e 20 24 76 61 72 69 61 62 6c 65 73 5f 73 61 76  n $variables_sav
239d0 65 64 5f 66 6f 72 5f 72 65 6c 69 6e 6b 3b 20 64  ed_for_relink; d
239e0 6f 0a 09 69 66 20 65 76 61 6c 20 74 65 73 74 20  o..if eval test 
239f0 2d 7a 20 5c 22 5c 24 7b 24 76 61 72 2b 73 65 74  -z \"\${$var+set
23a00 7d 5c 22 3b 20 74 68 65 6e 0a 09 20 20 72 65 6c  }\"; then..  rel
23a10 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 7b 20 74  ink_command="{ t
23a20 65 73 74 20 2d 7a 20 5c 22 5c 24 7b 24 76 61 72  est -z \"\${$var
23a30 2b 73 65 74 7d 5c 22 20 7c 7c 20 75 6e 73 65 74  +set}\" || unset
23a40 20 24 76 61 72 20 7c 7c 20 7b 20 24 76 61 72 3d   $var || { $var=
23a50 3b 20 65 78 70 6f 72 74 20 24 76 61 72 3b 20 7d  ; export $var; }
23a60 3b 20 7d 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  ; }; $relink_com
23a70 6d 61 6e 64 22 0a 09 65 6c 69 66 20 65 76 61 6c  mand"..elif eval
23a80 20 76 61 72 5f 76 61 6c 75 65 3d 5c 24 24 76 61   var_value=\$$va
23a90 72 3b 20 74 65 73 74 20 2d 7a 20 22 24 76 61 72  r; test -z "$var
23aa0 5f 76 61 6c 75 65 22 3b 20 74 68 65 6e 0a 09 20  _value"; then.. 
23ab0 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d   relink_command=
23ac0 22 24 76 61 72 3d 3b 20 65 78 70 6f 72 74 20 24  "$var=; export $
23ad0 76 61 72 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d  var; $relink_com
23ae0 6d 61 6e 64 22 0a 09 65 6c 73 65 0a 09 20 20 76  mand"..else..  v
23af0 61 72 5f 76 61 6c 75 65 3d 60 24 65 63 68 6f 20  ar_value=`$echo 
23b00 22 58 24 76 61 72 5f 76 61 6c 75 65 22 20 7c 20  "X$var_value" | 
23b10 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
23b20 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 09 20 20  uote_subst"`..  
23b30 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22  relink_command="
23b40 24 76 61 72 3d 5c 22 24 76 61 72 5f 76 61 6c 75  $var=\"$var_valu
23b50 65 5c 22 3b 20 65 78 70 6f 72 74 20 24 76 61 72  e\"; export $var
23b60 3b 20 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e  ; $relink_comman
23b70 64 22 0a 09 66 69 0a 20 20 20 20 20 20 64 6f 6e  d"..fi.      don
23b80 65 0a 20 20 20 20 20 20 23 20 51 75 6f 74 65 20  e.      # Quote 
23b90 74 68 65 20 6c 69 6e 6b 20 63 6f 6d 6d 61 6e 64  the link command
23ba0 20 66 6f 72 20 73 68 69 70 70 69 6e 67 2e 0a 20   for shipping.. 
23bb0 20 20 20 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d       relink_comm
23bc0 61 6e 64 3d 22 28 63 64 20 60 70 77 64 60 3b 20  and="(cd `pwd`; 
23bd0 24 53 48 45 4c 4c 20 24 30 20 24 70 72 65 73 65  $SHELL $0 $prese
23be0 72 76 65 5f 61 72 67 73 20 2d 2d 6d 6f 64 65 3d  rve_args --mode=
23bf0 72 65 6c 69 6e 6b 20 24 6c 69 62 74 6f 6f 6c 5f  relink $libtool_
23c00 61 72 67 73 20 40 69 6e 73 74 5f 70 72 65 66 69  args @inst_prefi
23c10 78 5f 64 69 72 40 29 22 0a 20 20 20 20 20 20 72  x_dir@)".      r
23c20 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24  elink_command=`$
23c30 65 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b 5f 63  echo "X$relink_c
23c40 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64 20  ommand" | $Xsed 
23c50 2d 65 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73  -e "$sed_quote_s
23c60 75 62 73 74 22 60 0a 20 20 20 20 20 20 69 66 20  ubst"`.      if 
23c70 74 65 73 74 20 22 24 68 61 72 64 63 6f 64 65 5f  test "$hardcode_
23c80 61 75 74 6f 6d 61 74 69 63 22 20 3d 20 79 65 73  automatic" = yes
23c90 20 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20   ; then.        
23ca0 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 0a  relink_command=.
23cb0 20 20 20 20 20 20 66 69 20 20 0a 20 20 20 20 20        fi  .     
23cc0 20 23 20 4f 6e 6c 79 20 63 72 65 61 74 65 20 74   # Only create t
23cd0 68 65 20 6f 75 74 70 75 74 20 69 66 20 6e 6f 74  he output if not
23ce0 20 61 20 64 72 79 20 72 75 6e 2e 0a 20 20 20 20   a dry run..    
23cf0 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24 72    if test -z "$r
23d00 75 6e 22 3b 20 74 68 65 6e 0a 09 66 6f 72 20 69  un"; then..for i
23d10 6e 73 74 61 6c 6c 65 64 20 69 6e 20 6e 6f 20 79  nstalled in no y
23d20 65 73 3b 20 64 6f 0a 09 20 20 69 66 20 74 65 73  es; do..  if tes
23d30 74 20 22 24 69 6e 73 74 61 6c 6c 65 64 22 20 3d  t "$installed" =
23d40 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 20 20   yes; then..    
23d50 69 66 20 74 65 73 74 20 2d 7a 20 22 24 69 6e 73  if test -z "$ins
23d60 74 61 6c 6c 5f 6c 69 62 64 69 72 22 3b 20 74 68  tall_libdir"; th
23d70 65 6e 0a 09 20 20 20 20 20 20 62 72 65 61 6b 0a  en..      break.
23d80 09 20 20 20 20 66 69 0a 09 20 20 20 20 6f 75 74  .    fi..    out
23d90 70 75 74 3d 22 24 6f 75 74 70 75 74 5f 6f 62 6a  put="$output_obj
23da0 64 69 72 2f 24 6f 75 74 70 75 74 6e 61 6d 65 22  dir/$outputname"
23db0 69 0a 09 20 20 20 20 23 20 52 65 70 6c 61 63 65  i..    # Replace
23dc0 20 61 6c 6c 20 75 6e 69 6e 73 74 61 6c 6c 65 64   all uninstalled
23dd0 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
23de0 65 73 20 77 69 74 68 20 74 68 65 20 69 6e 73 74  es with the inst
23df0 61 6c 6c 65 64 20 6f 6e 65 73 0a 09 20 20 20 20  alled ones..    
23e00 6e 65 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69  newdependency_li
23e10 62 73 3d 0a 09 20 20 20 20 66 6f 72 20 64 65 70  bs=..    for dep
23e20 6c 69 62 20 69 6e 20 24 64 65 70 65 6e 64 65 6e  lib in $dependen
23e30 63 79 5f 6c 69 62 73 3b 20 64 6f 0a 09 20 20 20  cy_libs; do..   
23e40 20 20 20 63 61 73 65 20 24 64 65 70 6c 69 62 20     case $deplib 
23e50 69 6e 0a 09 20 20 20 20 20 20 2a 2e 6c 61 29 0a  in..      *.la).
23e60 09 09 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58  ..name=`$echo "X
23e70 24 64 65 70 6c 69 62 22 20 7c 20 24 58 73 65 64  $deplib" | $Xsed
23e80 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a   -e 's%^.*/%%'`.
23e90 09 09 65 76 61 6c 20 6c 69 62 64 69 72 3d 60 24  ..eval libdir=`$
23ea0 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 73 2f 5e  {SED} -n -e 's/^
23eb0 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29 24 2f 5c  libdir=\(.*\)$/\
23ec0 31 2f 70 27 20 24 64 65 70 6c 69 62 60 0a 09 09  1/p' $deplib`...
23ed0 69 66 20 74 65 73 74 20 2d 7a 20 22 24 6c 69 62  if test -z "$lib
23ee0 64 69 72 22 3b 20 74 68 65 6e 0a 09 09 20 20 24  dir"; then...  $
23ef0 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
23f00 20 5c 60 24 64 65 70 6c 69 62 27 20 69 73 20 6e   \`$deplib' is n
23f10 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f  ot a valid libto
23f20 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32  ol archive" 1>&2
23f30 0a 09 09 20 20 65 78 69 74 20 31 0a 09 09 66 69  ...  exit 1...fi
23f40 0a 09 09 6e 65 77 64 65 70 65 6e 64 65 6e 63 79  ...newdependency
23f50 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65 70 65 6e  _libs="$newdepen
23f60 64 65 6e 63 79 5f 6c 69 62 73 20 24 6c 69 62 64  dency_libs $libd
23f70 69 72 2f 24 6e 61 6d 65 22 0a 09 09 3b 3b 0a 09  ir/$name"...;;..
23f80 20 20 20 20 20 20 2a 29 20 6e 65 77 64 65 70 65        *) newdepe
23f90 6e 64 65 6e 63 79 5f 6c 69 62 73 3d 22 24 6e 65  ndency_libs="$ne
23fa0 77 64 65 70 65 6e 64 65 6e 63 79 5f 6c 69 62 73  wdependency_libs
23fb0 20 24 64 65 70 6c 69 62 22 20 3b 3b 0a 09 20 20   $deplib" ;;..  
23fc0 20 20 20 20 65 73 61 63 0a 09 20 20 20 20 64 6f      esac..    do
23fd0 6e 65 0a 09 20 20 20 20 64 65 70 65 6e 64 65 6e  ne..    dependen
23fe0 63 79 5f 6c 69 62 73 3d 22 24 6e 65 77 64 65 70  cy_libs="$newdep
23ff0 65 6e 64 65 6e 63 79 5f 6c 69 62 73 22 0a 09 20  endency_libs".. 
24000 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 0a 09     newdlfiles=..
24010 20 20 20 20 66 6f 72 20 6c 69 62 20 69 6e 20 24      for lib in $
24020 64 6c 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20  dlfiles; do..   
24030 20 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22     name=`$echo "
24040 58 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d  X$lib" | $Xsed -
24050 65 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20  e 's%^.*/%%'`.. 
24060 20 20 20 20 20 65 76 61 6c 20 6c 69 62 64 69 72       eval libdir
24070 3d 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27  =`${SED} -n -e '
24080 73 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29  s/^libdir=\(.*\)
24090 24 2f 5c 31 2f 70 27 20 24 6c 69 62 60 0a 09 20  $/\1/p' $lib`.. 
240a0 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20       if test -z 
240b0 22 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a  "$libdir"; then.
240c0 09 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
240d0 6d 65 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e  me: \`$lib' is n
240e0 6f 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f  ot a valid libto
240f0 6f 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32  ol archive" 1>&2
24100 0a 09 09 65 78 69 74 20 31 0a 09 20 20 20 20 20  ...exit 1..     
24110 20 66 69 0a 09 20 20 20 20 20 20 6e 65 77 64 6c   fi..      newdl
24120 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66 69 6c  files="$newdlfil
24130 65 73 20 24 6c 69 62 64 69 72 2f 24 6e 61 6d 65  es $libdir/$name
24140 22 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20  "..    done..   
24150 20 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c   dlfiles="$newdl
24160 66 69 6c 65 73 22 0a 09 20 20 20 20 6e 65 77 64  files"..    newd
24170 6c 70 72 65 66 69 6c 65 73 3d 0a 09 20 20 20 20  lprefiles=..    
24180 66 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c 70 72  for lib in $dlpr
24190 65 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20  efiles; do..    
241a0 20 20 6e 61 6d 65 3d 60 24 65 63 68 6f 20 22 58    name=`$echo "X
241b0 24 6c 69 62 22 20 7c 20 24 58 73 65 64 20 2d 65  $lib" | $Xsed -e
241c0 20 27 73 25 5e 2e 2a 2f 25 25 27 60 0a 09 20 20   's%^.*/%%'`..  
241d0 20 20 20 20 65 76 61 6c 20 6c 69 62 64 69 72 3d      eval libdir=
241e0 60 24 7b 53 45 44 7d 20 2d 6e 20 2d 65 20 27 73  `${SED} -n -e 's
241f0 2f 5e 6c 69 62 64 69 72 3d 5c 28 2e 2a 5c 29 24  /^libdir=\(.*\)$
24200 2f 5c 31 2f 70 27 20 24 6c 69 62 60 0a 09 20 20  /\1/p' $lib`..  
24210 20 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22      if test -z "
24220 24 6c 69 62 64 69 72 22 3b 20 74 68 65 6e 0a 09  $libdir"; then..
24230 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d  .$echo "$modenam
24240 65 3a 20 5c 60 24 6c 69 62 27 20 69 73 20 6e 6f  e: \`$lib' is no
24250 74 20 61 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f  t a valid libtoo
24260 6c 20 61 72 63 68 69 76 65 22 20 31 3e 26 32 0a  l archive" 1>&2.
24270 09 09 65 78 69 74 20 31 0a 09 20 20 20 20 20 20  ..exit 1..      
24280 66 69 0a 09 20 20 20 20 20 20 6e 65 77 64 6c 70  fi..      newdlp
24290 72 65 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 70  refiles="$newdlp
242a0 72 65 66 69 6c 65 73 20 24 6c 69 62 64 69 72 2f  refiles $libdir/
242b0 24 6e 61 6d 65 22 0a 09 20 20 20 20 64 6f 6e 65  $name"..    done
242c0 0a 09 20 20 20 20 64 6c 70 72 65 66 69 6c 65 73  ..    dlprefiles
242d0 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c 65 73  ="$newdlprefiles
242e0 22 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 6e  "..  else..    n
242f0 65 77 64 6c 66 69 6c 65 73 3d 0a 09 20 20 20 20  ewdlfiles=..    
24300 66 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c 66 69  for lib in $dlfi
24310 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20 20 20 63  les; do..      c
24320 61 73 65 20 24 6c 69 62 20 69 6e 20 0a 09 09 5b  ase $lib in ...[
24330 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d  \\/]* | [A-Za-z]
24340 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 3d 22 24 6c  :[\\/]*) abs="$l
24350 69 62 22 20 3b 3b 0a 09 09 2a 29 20 61 62 73 3d  ib" ;;...*) abs=
24360 60 70 77 64 60 22 2f 24 6c 69 62 22 20 3b 3b 0a  `pwd`"/$lib" ;;.
24370 09 20 20 20 20 20 20 65 73 61 63 0a 09 20 20 20  .      esac..   
24380 20 20 20 6e 65 77 64 6c 66 69 6c 65 73 3d 22 24     newdlfiles="$
24390 6e 65 77 64 6c 66 69 6c 65 73 20 24 61 62 73 22  newdlfiles $abs"
243a0 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20 20 20  ..    done..    
243b0 64 6c 66 69 6c 65 73 3d 22 24 6e 65 77 64 6c 66  dlfiles="$newdlf
243c0 69 6c 65 73 22 0a 09 20 20 20 20 6e 65 77 64 6c  iles"..    newdl
243d0 70 72 65 66 69 6c 65 73 3d 0a 09 20 20 20 20 66  prefiles=..    f
243e0 6f 72 20 6c 69 62 20 69 6e 20 24 64 6c 70 72 65  or lib in $dlpre
243f0 66 69 6c 65 73 3b 20 64 6f 0a 09 20 20 20 20 20  files; do..     
24400 20 63 61 73 65 20 24 6c 69 62 20 69 6e 20 0a 09   case $lib in ..
24410 09 5b 5c 5c 2f 5d 2a 20 7c 20 5b 41 2d 5a 61 2d  .[\\/]* | [A-Za-
24420 7a 5d 3a 5b 5c 5c 2f 5d 2a 29 20 61 62 73 3d 22  z]:[\\/]*) abs="
24430 24 6c 69 62 22 20 3b 3b 0a 09 09 2a 29 20 61 62  $lib" ;;...*) ab
24440 73 3d 60 70 77 64 60 22 2f 24 6c 69 62 22 20 3b  s=`pwd`"/$lib" ;
24450 3b 0a 09 20 20 20 20 20 20 65 73 61 63 0a 09 20  ;..      esac.. 
24460 20 20 20 20 20 6e 65 77 64 6c 70 72 65 66 69 6c       newdlprefil
24470 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c  es="$newdlprefil
24480 65 73 20 24 61 62 73 22 0a 09 20 20 20 20 64 6f  es $abs"..    do
24490 6e 65 0a 09 20 20 20 20 64 6c 70 72 65 66 69 6c  ne..    dlprefil
244a0 65 73 3d 22 24 6e 65 77 64 6c 70 72 65 66 69 6c  es="$newdlprefil
244b0 65 73 22 0a 09 20 20 66 69 0a 09 20 20 24 72 6d  es"..  fi..  $rm
244c0 20 24 6f 75 74 70 75 74 0a 09 20 20 23 20 70 6c   $output..  # pl
244d0 61 63 65 20 64 6c 6e 61 6d 65 20 69 6e 20 63 6f  ace dlname in co
244e0 72 72 65 63 74 20 70 6f 73 69 74 69 6f 6e 20 66  rrect position f
244f0 6f 72 20 63 79 67 77 69 6e 0a 09 20 20 74 64 6c  or cygwin..  tdl
24500 6e 61 6d 65 3d 24 64 6c 6e 61 6d 65 0a 09 20 20  name=$dlname..  
24510 63 61 73 65 20 24 68 6f 73 74 2c 24 6f 75 74 70  case $host,$outp
24520 75 74 2c 24 69 6e 73 74 61 6c 6c 65 64 2c 24 6d  ut,$installed,$m
24530 6f 64 75 6c 65 2c 24 64 6c 6e 61 6d 65 20 69 6e  odule,$dlname in
24540 0a 09 20 20 20 20 2a 63 79 67 77 69 6e 2a 2c 2a  ..    *cygwin*,*
24550 6c 61 69 2c 79 65 73 2c 6e 6f 2c 2a 2e 64 6c 6c  lai,yes,no,*.dll
24560 20 7c 20 2a 6d 69 6e 67 77 2a 2c 2a 6c 61 69 2c   | *mingw*,*lai,
24570 79 65 73 2c 6e 6f 2c 2a 2e 64 6c 6c 29 20 74 64  yes,no,*.dll) td
24580 6c 6e 61 6d 65 3d 2e 2e 2f 62 69 6e 2f 24 64 6c  lname=../bin/$dl
24590 6e 61 6d 65 20 3b 3b 0a 09 20 20 65 73 61 63 0a  name ;;..  esac.
245a0 09 20 20 24 65 63 68 6f 20 3e 20 24 6f 75 74 70  .  $echo > $outp
245b0 75 74 20 22 5c 0a 23 20 24 6f 75 74 70 75 74 6e  ut "\.# $outputn
245c0 61 6d 65 20 2d 20 61 20 6c 69 62 74 6f 6f 6c 20  ame - a libtool 
245d0 6c 69 62 72 61 72 79 20 66 69 6c 65 0a 23 20 47  library file.# G
245e0 65 6e 65 72 61 74 65 64 20 62 79 20 24 50 52 4f  enerated by $PRO
245f0 47 52 41 4d 20 2d 20 47 4e 55 20 24 50 41 43 4b  GRAM - GNU $PACK
24600 41 47 45 20 24 56 45 52 53 49 4f 4e 24 54 49 4d  AGE $VERSION$TIM
24610 45 53 54 41 4d 50 0a 23 0a 23 20 50 6c 65 61 73  ESTAMP.#.# Pleas
24620 65 20 44 4f 20 4e 4f 54 20 64 65 6c 65 74 65 20  e DO NOT delete 
24630 74 68 69 73 20 66 69 6c 65 21 0a 23 20 49 74 20  this file!.# It 
24640 69 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72  is necessary for
24650 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 6c 69 62   linking the lib
24660 72 61 72 79 2e 0a 0a 23 20 54 68 65 20 6e 61 6d  rary...# The nam
24670 65 20 74 68 61 74 20 77 65 20 63 61 6e 20 64 6c  e that we can dl
24680 6f 70 65 6e 28 33 29 2e 0a 64 6c 6e 61 6d 65 3d  open(3)..dlname=
24690 27 24 74 64 6c 6e 61 6d 65 27 0a 0a 23 20 4e 61  '$tdlname'..# Na
246a0 6d 65 73 20 6f 66 20 74 68 69 73 20 6c 69 62 72  mes of this libr
246b0 61 72 79 2e 0a 6c 69 62 72 61 72 79 5f 6e 61 6d  ary..library_nam
246c0 65 73 3d 27 24 6c 69 62 72 61 72 79 5f 6e 61 6d  es='$library_nam
246d0 65 73 27 0a 0a 23 20 54 68 65 20 6e 61 6d 65 20  es'..# The name 
246e0 6f 66 20 74 68 65 20 73 74 61 74 69 63 20 61 72  of the static ar
246f0 63 68 69 76 65 2e 0a 6f 6c 64 5f 6c 69 62 72 61  chive..old_libra
24700 72 79 3d 27 24 6f 6c 64 5f 6c 69 62 72 61 72 79  ry='$old_library
24710 27 0a 0a 23 20 4c 69 62 72 61 72 69 65 73 20 74  '..# Libraries t
24720 68 61 74 20 74 68 69 73 20 6f 6e 65 20 64 65 70  hat this one dep
24730 65 6e 64 73 20 75 70 6f 6e 2e 0a 64 65 70 65 6e  ends upon..depen
24740 64 65 6e 63 79 5f 6c 69 62 73 3d 27 24 64 65 70  dency_libs='$dep
24750 65 6e 64 65 6e 63 79 5f 6c 69 62 73 27 0a 0a 23  endency_libs'..#
24760 20 56 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61   Version informa
24770 74 69 6f 6e 20 66 6f 72 20 24 6c 69 62 6e 61 6d  tion for $libnam
24780 65 2e 0a 63 75 72 72 65 6e 74 3d 24 63 75 72 72  e..current=$curr
24790 65 6e 74 0a 61 67 65 3d 24 61 67 65 0a 72 65 76  ent.age=$age.rev
247a0 69 73 69 6f 6e 3d 24 72 65 76 69 73 69 6f 6e 0a  ision=$revision.
247b0 0a 23 20 49 73 20 74 68 69 73 20 61 6e 20 61 6c  .# Is this an al
247c0 72 65 61 64 79 20 69 6e 73 74 61 6c 6c 65 64 20  ready installed 
247d0 6c 69 62 72 61 72 79 3f 0a 69 6e 73 74 61 6c 6c  library?.install
247e0 65 64 3d 24 69 6e 73 74 61 6c 6c 65 64 0a 0a 23  ed=$installed..#
247f0 20 53 68 6f 75 6c 64 20 77 65 20 77 61 72 6e 20   Should we warn 
24800 61 62 6f 75 74 20 70 6f 72 74 61 62 69 6c 69 74  about portabilit
24810 79 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 61  y when linking a
24820 67 61 69 6e 73 74 20 2d 6d 6f 64 75 6c 65 73 3f  gainst -modules?
24830 0a 73 68 6f 75 6c 64 6e 6f 74 6c 69 6e 6b 3d 24  .shouldnotlink=$
24840 6d 6f 64 75 6c 65 0a 0a 23 20 46 69 6c 65 73 20  module..# Files 
24850 74 6f 20 64 6c 6f 70 65 6e 2f 64 6c 70 72 65 6f  to dlopen/dlpreo
24860 70 65 6e 0a 64 6c 6f 70 65 6e 3d 27 24 64 6c 66  pen.dlopen='$dlf
24870 69 6c 65 73 27 0a 64 6c 70 72 65 6f 70 65 6e 3d  iles'.dlpreopen=
24880 27 24 64 6c 70 72 65 66 69 6c 65 73 27 0a 0a 23  '$dlprefiles'..#
24890 20 44 69 72 65 63 74 6f 72 79 20 74 68 61 74 20   Directory that 
248a0 74 68 69 73 20 6c 69 62 72 61 72 79 20 6e 65 65  this library nee
248b0 64 73 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c  ds to be install
248c0 65 64 20 69 6e 3a 0a 6c 69 62 64 69 72 3d 27 24  ed in:.libdir='$
248d0 69 6e 73 74 61 6c 6c 5f 6c 69 62 64 69 72 27 22  install_libdir'"
248e0 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 69 6e  ..  if test "$in
248f0 73 74 61 6c 6c 65 64 22 20 3d 20 6e 6f 20 26 26  stalled" = no &&
24900 20 74 65 73 74 20 22 24 6e 65 65 64 5f 72 65 6c   test "$need_rel
24910 69 6e 6b 22 20 3d 20 79 65 73 3b 20 74 68 65 6e  ink" = yes; then
24920 0a 09 20 20 20 20 24 65 63 68 6f 20 3e 3e 20 24  ..    $echo >> $
24930 6f 75 74 70 75 74 20 22 5c 0a 72 65 6c 69 6e 6b  output "\.relink
24940 5f 63 6f 6d 6d 61 6e 64 3d 5c 22 24 72 65 6c 69  _command=\"$reli
24950 6e 6b 5f 63 6f 6d 6d 61 6e 64 5c 22 22 0a 09 20  nk_command\"".. 
24960 20 66 69 0a 09 64 6f 6e 65 0a 20 20 20 20 20 20   fi..done.      
24970 66 69 0a 0a 20 20 20 20 20 20 23 20 44 6f 20 61  fi..      # Do a
24980 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 20 73   symbolic link s
24990 6f 20 74 68 61 74 20 74 68 65 20 6c 69 62 74 6f  o that the libto
249a0 6f 6c 20 61 72 63 68 69 76 65 20 63 61 6e 20 62  ol archive can b
249b0 65 20 66 6f 75 6e 64 20 69 6e 0a 20 20 20 20 20  e found in.     
249c0 20 23 20 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41   # LD_LIBRARY_PA
249d0 54 48 20 62 65 66 6f 72 65 20 74 68 65 20 70 72  TH before the pr
249e0 6f 67 72 61 6d 20 69 73 20 69 6e 73 74 61 6c 6c  ogram is install
249f0 65 64 2e 0a 20 20 20 20 20 20 24 73 68 6f 77 20  ed..      $show 
24a00 22 28 63 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a  "(cd $output_obj
24a10 64 69 72 20 26 26 20 24 72 6d 20 24 6f 75 74 70  dir && $rm $outp
24a20 75 74 6e 61 6d 65 20 26 26 20 24 4c 4e 5f 53 20  utname && $LN_S 
24a30 2e 2e 2f 24 6f 75 74 70 75 74 6e 61 6d 65 20 24  ../$outputname $
24a40 6f 75 74 70 75 74 6e 61 6d 65 29 22 0a 20 20 20  outputname)".   
24a50 20 20 20 24 72 75 6e 20 65 76 61 6c 20 27 28 63     $run eval '(c
24a60 64 20 24 6f 75 74 70 75 74 5f 6f 62 6a 64 69 72  d $output_objdir
24a70 20 26 26 20 24 72 6d 20 24 6f 75 74 70 75 74 6e   && $rm $outputn
24a80 61 6d 65 20 26 26 20 24 4c 4e 5f 53 20 2e 2e 2f  ame && $LN_S ../
24a90 24 6f 75 74 70 75 74 6e 61 6d 65 20 24 6f 75 74  $outputname $out
24aa0 70 75 74 6e 61 6d 65 29 27 20 7c 7c 20 65 78 69  putname)' || exi
24ab0 74 20 24 3f 0a 20 20 20 20 20 20 3b 3b 0a 20 20  t $?.      ;;.  
24ac0 20 20 65 73 61 63 0a 20 20 20 20 65 78 69 74 20    esac.    exit 
24ad0 30 0a 20 20 20 20 3b 3b 0a 0a 20 20 23 20 6c 69  0.    ;;..  # li
24ae0 62 74 6f 6f 6c 20 69 6e 73 74 61 6c 6c 20 6d 6f  btool install mo
24af0 64 65 0a 20 20 69 6e 73 74 61 6c 6c 29 0a 20 20  de.  install).  
24b00 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64    modename="$mod
24b10 65 6e 61 6d 65 3a 20 69 6e 73 74 61 6c 6c 22 0a  ename: install".
24b20 0a 20 20 20 20 23 20 54 68 65 72 65 20 6d 61 79  .    # There may
24b30 20 62 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20   be an optional 
24b40 73 68 28 31 29 20 61 72 67 75 6d 65 6e 74 20 61  sh(1) argument a
24b50 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20  t the beginning 
24b60 6f 66 0a 20 20 20 20 23 20 69 6e 73 74 61 6c 6c  of.    # install
24b70 5f 70 72 6f 67 20 28 65 73 70 65 63 69 61 6c 6c  _prog (especiall
24b80 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20 4e 54 29  y on Windows NT)
24b90 2e 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 24  ..    if test "$
24ba0 6e 6f 6e 6f 70 74 22 20 3d 20 22 24 53 48 45 4c  nonopt" = "$SHEL
24bb0 4c 22 20 7c 7c 20 74 65 73 74 20 22 24 6e 6f 6e  L" || test "$non
24bc0 6f 70 74 22 20 3d 20 2f 62 69 6e 2f 73 68 20 7c  opt" = /bin/sh |
24bd0 7c 0a 20 20 20 20 20 20 20 23 20 41 6c 6c 6f 77  |.       # Allow
24be0 20 74 68 65 20 75 73 65 20 6f 66 20 47 4e 55 20   the use of GNU 
24bf0 73 68 74 6f 6f 6c 27 73 20 69 6e 73 74 61 6c 6c  shtool's install
24c00 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20   command..      
24c10 20 24 65 63 68 6f 20 22 58 24 6e 6f 6e 6f 70 74   $echo "X$nonopt
24c20 22 20 7c 20 24 58 73 65 64 20 7c 20 67 72 65 70  " | $Xsed | grep
24c30 20 73 68 74 6f 6f 6c 20 3e 20 2f 64 65 76 2f 6e   shtool > /dev/n
24c40 75 6c 6c 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  ull; then.      
24c50 23 20 41 65 73 74 68 65 74 69 63 61 6c 6c 79 20  # Aesthetically 
24c60 71 75 6f 74 65 20 69 74 2e 0a 20 20 20 20 20 20  quote it..      
24c70 61 72 67 3d 60 24 65 63 68 6f 20 22 58 24 6e 6f  arg=`$echo "X$no
24c80 6e 6f 70 74 22 20 7c 20 24 58 73 65 64 20 2d 65  nopt" | $Xsed -e
24c90 20 22 24 73 65 64 5f 71 75 6f 74 65 5f 73 75 62   "$sed_quote_sub
24ca0 73 74 22 60 0a 20 20 20 20 20 20 63 61 73 65 20  st"`.      case 
24cb0 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2a 5b  $arg in.      *[
24cc0 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c 28 5c 29  \[\~\#\^\&\*\(\)
24cd0 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27  \{\}\|\;\<\>\?\'
24ce0 5c 20 5c 09 5d 2a 7c 2a 5d 2a 29 0a 09 61 72 67  \ \.]*|*]*)..arg
24cf0 3d 22 5c 22 24 61 72 67 5c 22 22 0a 09 3b 3b 0a  ="\"$arg\""..;;.
24d00 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 20        esac.     
24d10 20 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 3d 22 24   install_prog="$
24d20 61 72 67 20 22 0a 20 20 20 20 20 20 61 72 67 3d  arg ".      arg=
24d30 22 24 31 22 0a 20 20 20 20 20 20 73 68 69 66 74  "$1".      shift
24d40 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20  .    else.      
24d50 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 3d 0a 20 20  install_prog=.  
24d60 20 20 20 20 61 72 67 3d 22 24 6e 6f 6e 6f 70 74      arg="$nonopt
24d70 22 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23 20  ".    fi..    # 
24d80 54 68 65 20 72 65 61 6c 20 66 69 72 73 74 20 61  The real first a
24d90 72 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62  rgument should b
24da0 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  e the name of th
24db0 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 70  e installation p
24dc0 72 6f 67 72 61 6d 2e 0a 20 20 20 20 23 20 41 65  rogram..    # Ae
24dd0 73 74 68 65 74 69 63 61 6c 6c 79 20 71 75 6f 74  sthetically quot
24de0 65 20 69 74 2e 0a 20 20 20 20 61 72 67 3d 60 24  e it..    arg=`$
24df0 65 63 68 6f 20 22 58 24 61 72 67 22 20 7c 20 24  echo "X$arg" | $
24e00 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71 75  Xsed -e "$sed_qu
24e10 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20 20  ote_subst"`.    
24e20 63 61 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20  case $arg in.   
24e30 20 2a 5b 5c 5b 5c 7e 5c 23 5c 5e 5c 26 5c 2a 5c   *[\[\~\#\^\&\*\
24e40 28 5c 29 5c 7b 5c 7d 5c 7c 5c 3b 5c 3c 5c 3e 5c  (\)\{\}\|\;\<\>\
24e50 3f 5c 27 5c 20 5c 09 5d 2a 7c 2a 5d 2a 29 0a 20  ?\'\ \.]*|*]*). 
24e60 20 20 20 20 20 61 72 67 3d 22 5c 22 24 61 72 67       arg="\"$arg
24e70 5c 22 22 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20  \"".      ;;.   
24e80 20 65 73 61 63 0a 20 20 20 20 69 6e 73 74 61 6c   esac.    instal
24e90 6c 5f 70 72 6f 67 3d 22 24 69 6e 73 74 61 6c 6c  l_prog="$install
24ea0 5f 70 72 6f 67 24 61 72 67 22 0a 0a 20 20 20 20  _prog$arg"..    
24eb0 23 20 57 65 20 6e 65 65 64 20 74 6f 20 61 63 63  # We need to acc
24ec0 65 70 74 20 61 74 20 6c 65 61 73 74 20 61 6c 6c  ept at least all
24ed0 20 74 68 65 20 42 53 44 20 69 6e 73 74 61 6c 6c   the BSD install
24ee0 20 66 6c 61 67 73 2e 0a 20 20 20 20 64 65 73 74   flags..    dest
24ef0 3d 0a 20 20 20 20 66 69 6c 65 73 3d 0a 20 20 20  =.    files=.   
24f00 20 6f 70 74 73 3d 0a 20 20 20 20 70 72 65 76 3d   opts=.    prev=
24f10 0a 20 20 20 20 69 6e 73 74 61 6c 6c 5f 74 79 70  .    install_typ
24f20 65 3d 0a 20 20 20 20 69 73 64 69 72 3d 6e 6f 0a  e=.    isdir=no.
24f30 20 20 20 20 73 74 72 69 70 6d 65 3d 0a 20 20 20      stripme=.   
24f40 20 66 6f 72 20 61 72 67 0a 20 20 20 20 64 6f 0a   for arg.    do.
24f50 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
24f60 20 22 24 64 65 73 74 22 3b 20 74 68 65 6e 0a 09   "$dest"; then..
24f70 66 69 6c 65 73 3d 22 24 66 69 6c 65 73 20 24 64  files="$files $d
24f80 65 73 74 22 0a 09 64 65 73 74 3d 22 24 61 72 67  est"..dest="$arg
24f90 22 0a 09 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20  "..continue.    
24fa0 20 20 66 69 0a 0a 20 20 20 20 20 20 63 61 73 65    fi..      case
24fb0 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20 20 2d   $arg in.      -
24fc0 64 29 20 69 73 64 69 72 3d 79 65 73 20 3b 3b 0a  d) isdir=yes ;;.
24fd0 20 20 20 20 20 20 2d 66 29 20 70 72 65 76 3d 22        -f) prev="
24fe0 2d 66 22 20 3b 3b 0a 20 20 20 20 20 20 2d 67 29  -f" ;;.      -g)
24ff0 20 70 72 65 76 3d 22 2d 67 22 20 3b 3b 0a 20 20   prev="-g" ;;.  
25000 20 20 20 20 2d 6d 29 20 70 72 65 76 3d 22 2d 6d      -m) prev="-m
25010 22 20 3b 3b 0a 20 20 20 20 20 20 2d 6f 29 20 70  " ;;.      -o) p
25020 72 65 76 3d 22 2d 6f 22 20 3b 3b 0a 20 20 20 20  rev="-o" ;;.    
25030 20 20 2d 73 29 0a 09 73 74 72 69 70 6d 65 3d 22    -s)..stripme="
25040 20 2d 73 22 0a 09 63 6f 6e 74 69 6e 75 65 0a 09   -s"..continue..
25050 3b 3b 0a 20 20 20 20 20 20 2d 2a 29 20 3b 3b 0a  ;;.      -*) ;;.
25060 0a 20 20 20 20 20 20 2a 29 0a 09 23 20 49 66 20  .      *)..# If 
25070 74 68 65 20 70 72 65 76 69 6f 75 73 20 6f 70 74  the previous opt
25080 69 6f 6e 20 6e 65 65 64 65 64 20 61 6e 20 61 72  ion needed an ar
25090 67 75 6d 65 6e 74 2c 20 74 68 65 6e 20 73 6b 69  gument, then ski
250a0 70 20 69 74 2e 0a 09 69 66 20 74 65 73 74 20 2d  p it...if test -
250b0 6e 20 22 24 70 72 65 76 22 3b 20 74 68 65 6e 0a  n "$prev"; then.
250c0 09 20 20 70 72 65 76 3d 0a 09 65 6c 73 65 0a 09  .  prev=..else..
250d0 20 20 64 65 73 74 3d 22 24 61 72 67 22 0a 09 20    dest="$arg".. 
250e0 20 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a 09 3b   continue..fi..;
250f0 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 0a 20 20  ;.      esac..  
25100 20 20 20 20 23 20 41 65 73 74 68 65 74 69 63 61      # Aesthetica
25110 6c 6c 79 20 71 75 6f 74 65 20 74 68 65 20 61 72  lly quote the ar
25120 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 61 72  gument..      ar
25130 67 3d 60 24 65 63 68 6f 20 22 58 24 61 72 67 22  g=`$echo "X$arg"
25140 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24 73 65   | $Xsed -e "$se
25150 64 5f 71 75 6f 74 65 5f 73 75 62 73 74 22 60 0a  d_quote_subst"`.
25160 20 20 20 20 20 20 63 61 73 65 20 24 61 72 67 20        case $arg 
25170 69 6e 0a 20 20 20 20 20 20 2a 5b 5c 5b 5c 7e 5c  in.      *[\[\~\
25180 23 5c 5e 5c 26 5c 2a 5c 28 5c 29 5c 7b 5c 7d 5c  #\^\&\*\(\)\{\}\
25190 7c 5c 3b 5c 3c 5c 3e 5c 3f 5c 27 5c 20 5c 09 5d  |\;\<\>\?\'\ \.]
251a0 2a 7c 2a 5d 2a 29 0a 09 61 72 67 3d 22 5c 22 24  *|*]*)..arg="\"$
251b0 61 72 67 5c 22 22 0a 09 3b 3b 0a 20 20 20 20 20  arg\""..;;.     
251c0 20 65 73 61 63 0a 20 20 20 20 20 20 69 6e 73 74   esac.      inst
251d0 61 6c 6c 5f 70 72 6f 67 3d 22 24 69 6e 73 74 61  all_prog="$insta
251e0 6c 6c 5f 70 72 6f 67 20 24 61 72 67 22 0a 20 20  ll_prog $arg".  
251f0 20 20 64 6f 6e 65 0a 0a 20 20 20 20 69 66 20 74    done..    if t
25200 65 73 74 20 2d 7a 20 22 24 69 6e 73 74 61 6c 6c  est -z "$install
25210 5f 70 72 6f 67 22 3b 20 74 68 65 6e 0a 20 20 20  _prog"; then.   
25220 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e     $echo "$moden
25230 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70  ame: you must sp
25240 65 63 69 66 79 20 61 6e 20 69 6e 73 74 61 6c 6c  ecify an install
25250 20 70 72 6f 67 72 61 6d 22 20 31 3e 26 32 0a 20   program" 1>&2. 
25260 20 20 20 20 20 24 65 63 68 6f 20 22 24 68 65 6c       $echo "$hel
25270 70 22 20 31 3e 26 32 0a 20 20 20 20 20 20 65 78  p" 1>&2.      ex
25280 69 74 20 31 0a 20 20 20 20 66 69 0a 0a 20 20 20  it 1.    fi..   
25290 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 70 72   if test -n "$pr
252a0 65 76 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  ev"; then.      
252b0 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
252c0 3a 20 74 68 65 20 5c 60 24 70 72 65 76 27 20 6f  : the \`$prev' o
252d0 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61  ption requires a
252e0 6e 20 61 72 67 75 6d 65 6e 74 22 20 31 3e 26 32  n argument" 1>&2
252f0 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 68  .      $echo "$h
25300 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20 20  elp" 1>&2.      
25310 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 0a 20  exit 1.    fi.. 
25320 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
25330 66 69 6c 65 73 22 3b 20 74 68 65 6e 0a 20 20 20  files"; then.   
25340 20 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24     if test -z "$
25350 64 65 73 74 22 3b 20 74 68 65 6e 0a 09 24 65 63  dest"; then..$ec
25360 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 6e  ho "$modename: n
25370 6f 20 66 69 6c 65 20 6f 72 20 64 65 73 74 69 6e  o file or destin
25380 61 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 22  ation specified"
25390 20 31 3e 26 32 0a 20 20 20 20 20 20 65 6c 73 65   1>&2.      else
253a0 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
253b0 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73 70 65  me: you must spe
253c0 63 69 66 79 20 61 20 64 65 73 74 69 6e 61 74 69  cify a destinati
253d0 6f 6e 22 20 31 3e 26 32 0a 20 20 20 20 20 20 66  on" 1>&2.      f
253e0 69 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24  i.      $echo "$
253f0 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 20  help" 1>&2.     
25400 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 0a   exit 1.    fi..
25410 20 20 20 20 23 20 53 74 72 69 70 20 61 6e 79 20      # Strip any 
25420 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 20 66  trailing slash f
25430 72 6f 6d 20 74 68 65 20 64 65 73 74 69 6e 61 74  rom the destinat
25440 69 6f 6e 2e 0a 20 20 20 20 64 65 73 74 3d 60 24  ion..    dest=`$
25450 65 63 68 6f 20 22 58 24 64 65 73 74 22 20 7c 20  echo "X$dest" | 
25460 24 58 73 65 64 20 2d 65 20 27 73 25 2f 24 25 25  $Xsed -e 's%/$%%
25470 27 60 0a 0a 20 20 20 20 23 20 43 68 65 63 6b 20  '`..    # Check 
25480 74 6f 20 73 65 65 20 74 68 61 74 20 74 68 65 20  to see that the 
25490 64 65 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 61  destination is a
254a0 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20   directory..    
254b0 74 65 73 74 20 2d 64 20 22 24 64 65 73 74 22 20  test -d "$dest" 
254c0 26 26 20 69 73 64 69 72 3d 79 65 73 0a 20 20 20  && isdir=yes.   
254d0 20 69 66 20 74 65 73 74 20 22 24 69 73 64 69 72   if test "$isdir
254e0 22 20 3d 20 79 65 73 3b 20 74 68 65 6e 0a 20 20  " = yes; then.  
254f0 20 20 20 20 64 65 73 74 64 69 72 3d 22 24 64 65      destdir="$de
25500 73 74 22 0a 20 20 20 20 20 20 64 65 73 74 6e 61  st".      destna
25510 6d 65 3d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20  me=.    else.   
25520 20 20 20 64 65 73 74 64 69 72 3d 60 24 65 63 68     destdir=`$ech
25530 6f 20 22 58 24 64 65 73 74 22 20 7c 20 24 58 73  o "X$dest" | $Xs
25540 65 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24  ed -e 's%/[^/]*$
25550 25 25 27 60 0a 20 20 20 20 20 20 74 65 73 74 20  %%'`.      test 
25560 22 58 24 64 65 73 74 64 69 72 22 20 3d 20 22 58  "X$destdir" = "X
25570 24 64 65 73 74 22 20 26 26 20 64 65 73 74 64 69  $dest" && destdi
25580 72 3d 2e 0a 20 20 20 20 20 20 64 65 73 74 6e 61  r=..      destna
25590 6d 65 3d 60 24 65 63 68 6f 20 22 58 24 64 65 73  me=`$echo "X$des
255a0 74 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  t" | $Xsed -e 's
255b0 25 5e 2e 2a 2f 25 25 27 60 0a 0a 20 20 20 20 20  %^.*/%%'`..     
255c0 20 23 20 4e 6f 74 20 61 20 64 69 72 65 63 74 6f   # Not a directo
255d0 72 79 2c 20 73 6f 20 63 68 65 63 6b 20 74 6f 20  ry, so check to 
255e0 73 65 65 20 74 68 61 74 20 74 68 65 72 65 20 69  see that there i
255f0 73 20 6f 6e 6c 79 20 6f 6e 65 20 66 69 6c 65 20  s only one file 
25600 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20  specified..     
25610 20 73 65 74 20 64 75 6d 6d 79 20 24 66 69 6c 65   set dummy $file
25620 73 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20  s.      if test 
25630 22 24 23 22 20 2d 67 74 20 32 3b 20 74 68 65 6e  "$#" -gt 2; then
25640 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
25650 6d 65 3a 20 5c 60 24 64 65 73 74 27 20 69 73 20  me: \`$dest' is 
25660 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 22  not a directory"
25670 20 31 3e 26 32 0a 09 24 65 63 68 6f 20 22 24 68   1>&2..$echo "$h
25680 65 6c 70 22 20 31 3e 26 32 0a 09 65 78 69 74 20  elp" 1>&2..exit 
25690 31 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 66  1.      fi.    f
256a0 69 0a 20 20 20 20 63 61 73 65 20 24 64 65 73 74  i.    case $dest
256b0 64 69 72 20 69 6e 0a 20 20 20 20 5b 5c 5c 2f 5d  dir in.    [\\/]
256c0 2a 20 7c 20 5b 41 2d 5a 61 2d 7a 5d 3a 5b 5c 5c  * | [A-Za-z]:[\\
256d0 2f 5d 2a 29 20 3b 3b 0a 20 20 20 20 2a 29 0a 20  /]*) ;;.    *). 
256e0 20 20 20 20 20 66 6f 72 20 66 69 6c 65 20 69 6e       for file in
256f0 20 24 66 69 6c 65 73 3b 20 64 6f 0a 09 63 61 73   $files; do..cas
25700 65 20 24 66 69 6c 65 20 69 6e 0a 09 2a 2e 6c 6f  e $file in..*.lo
25710 29 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63 68  ) ;;..*)..  $ech
25720 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60  o "$modename: \`
25730 24 64 65 73 74 64 69 72 27 20 6d 75 73 74 20 62  $destdir' must b
25740 65 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 64 69  e an absolute di
25750 72 65 63 74 6f 72 79 20 6e 61 6d 65 22 20 31 3e  rectory name" 1>
25760 26 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65  &2..  $echo "$he
25770 6c 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74  lp" 1>&2..  exit
25780 20 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 20   1..  ;;..esac. 
25790 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20       done.      
257a0 3b 3b 0a 20 20 20 20 65 73 61 63 0a 0a 20 20 20  ;;.    esac..   
257b0 20 23 20 54 68 69 73 20 76 61 72 69 61 62 6c 65   # This variable
257c0 20 74 65 6c 6c 73 20 77 72 61 70 70 65 72 20 73   tells wrapper s
257d0 63 72 69 70 74 73 20 6a 75 73 74 20 74 6f 20 73  cripts just to s
257e0 65 74 20 76 61 72 69 61 62 6c 65 73 20 72 61 74  et variables rat
257f0 68 65 72 0a 20 20 20 20 23 20 74 68 61 6e 20 72  her.    # than r
25800 75 6e 6e 69 6e 67 20 74 68 65 69 72 20 70 72 6f  unning their pro
25810 67 72 61 6d 73 2e 0a 20 20 20 20 6c 69 62 74 6f  grams..    libto
25820 6f 6c 5f 69 6e 73 74 61 6c 6c 5f 6d 61 67 69 63  ol_install_magic
25830 3d 22 24 6d 61 67 69 63 22 0a 0a 20 20 20 20 73  ="$magic"..    s
25840 74 61 74 69 63 6c 69 62 73 3d 0a 20 20 20 20 66  taticlibs=.    f
25850 75 74 75 72 65 5f 6c 69 62 64 69 72 73 3d 0a 20  uture_libdirs=. 
25860 20 20 20 63 75 72 72 65 6e 74 5f 6c 69 62 64 69     current_libdi
25870 72 73 3d 0a 20 20 20 20 66 6f 72 20 66 69 6c 65  rs=.    for file
25880 20 69 6e 20 24 66 69 6c 65 73 3b 20 64 6f 0a 0a   in $files; do..
25890 20 20 20 20 20 20 23 20 44 6f 20 65 61 63 68 20        # Do each 
258a0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 0a 20 20  installation..  
258b0 20 20 20 20 63 61 73 65 20 24 66 69 6c 65 20 69      case $file i
258c0 6e 0a 20 20 20 20 20 20 2a 2e 24 6c 69 62 65 78  n.      *.$libex
258d0 74 29 0a 09 23 20 44 6f 20 74 68 65 20 73 74 61  t)..# Do the sta
258e0 74 69 63 20 6c 69 62 72 61 72 69 65 73 20 6c 61  tic libraries la
258f0 74 65 72 2e 0a 09 73 74 61 74 69 63 6c 69 62 73  ter...staticlibs
25900 3d 22 24 73 74 61 74 69 63 6c 69 62 73 20 24 66  ="$staticlibs $f
25910 69 6c 65 22 0a 09 3b 3b 0a 0a 20 20 20 20 20 20  ile"..;;..      
25920 2a 2e 6c 61 29 0a 09 23 20 43 68 65 63 6b 20 74  *.la)..# Check t
25930 6f 20 73 65 65 20 74 68 61 74 20 74 68 69 73 20  o see that this 
25940 72 65 61 6c 6c 79 20 69 73 20 61 20 6c 69 62 74  really is a libt
25950 6f 6f 6c 20 61 72 63 68 69 76 65 2e 0a 09 69 66  ool archive...if
25960 20 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71 27   (${SED} -e '2q'
25970 20 24 66 69 6c 65 20 7c 20 67 72 65 70 20 22 5e   $file | grep "^
25980 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 2e  # Generated by .
25990 2a 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64 65  *$PACKAGE") >/de
259a0 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65  v/null 2>&1; the
259b0 6e 20 3a 0a 09 65 6c 73 65 0a 09 20 20 24 65 63  n :..else..  $ec
259c0 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c  ho "$modename: \
259d0 60 24 66 69 6c 65 27 20 69 73 20 6e 6f 74 20 61  `$file' is not a
259e0 20 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20 61   valid libtool a
259f0 72 63 68 69 76 65 22 20 31 3e 26 32 0a 09 20 20  rchive" 1>&2..  
25a00 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31 3e  $echo "$help" 1>
25a10 26 32 0a 09 20 20 65 78 69 74 20 31 0a 09 66 69  &2..  exit 1..fi
25a20 0a 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73  ...library_names
25a30 3d 0a 09 6f 6c 64 5f 6c 69 62 72 61 72 79 3d 0a  =..old_library=.
25a40 09 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d  .relink_command=
25a50 0a 09 23 20 49 66 20 74 68 65 72 65 20 69 73 20  ..# If there is 
25a60 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6d  no directory com
25a70 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61 64 64  ponent, then add
25a80 20 6f 6e 65 2e 0a 09 63 61 73 65 20 24 66 69 6c   one...case $fil
25a90 65 20 69 6e 0a 09 2a 2f 2a 20 7c 20 2a 5c 5c 2a  e in..*/* | *\\*
25aa0 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a 09 2a 29  ) . $file ;;..*)
25ab0 20 2e 20 2e 2f 24 66 69 6c 65 20 3b 3b 0a 09 65   . ./$file ;;..e
25ac0 73 61 63 0a 0a 09 23 20 41 64 64 20 74 68 65 20  sac...# Add the 
25ad0 6c 69 62 64 69 72 20 74 6f 20 63 75 72 72 65 6e  libdir to curren
25ae0 74 5f 6c 69 62 64 69 72 73 20 69 66 20 69 74 20  t_libdirs if it 
25af0 69 73 20 74 68 65 20 64 65 73 74 69 6e 61 74 69  is the destinati
25b00 6f 6e 2e 0a 09 69 66 20 74 65 73 74 20 22 58 24  on...if test "X$
25b10 64 65 73 74 64 69 72 22 20 3d 20 22 58 24 6c 69  destdir" = "X$li
25b20 62 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 63  bdir"; then..  c
25b30 61 73 65 20 22 24 63 75 72 72 65 6e 74 5f 6c 69  ase "$current_li
25b40 62 64 69 72 73 20 22 20 69 6e 0a 09 20 20 2a 22  bdirs " in..  *"
25b50 20 24 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a   $libdir "*) ;;.
25b60 09 20 20 2a 29 20 63 75 72 72 65 6e 74 5f 6c 69  .  *) current_li
25b70 62 64 69 72 73 3d 22 24 63 75 72 72 65 6e 74 5f  bdirs="$current_
25b80 6c 69 62 64 69 72 73 20 24 6c 69 62 64 69 72 22  libdirs $libdir"
25b90 20 3b 3b 0a 09 20 20 65 73 61 63 0a 09 65 6c 73   ;;..  esac..els
25ba0 65 0a 09 20 20 23 20 4e 6f 74 65 20 74 68 65 20  e..  # Note the 
25bb0 6c 69 62 64 69 72 20 61 73 20 61 20 66 75 74 75  libdir as a futu
25bc0 72 65 20 6c 69 62 64 69 72 2e 0a 09 20 20 63 61  re libdir...  ca
25bd0 73 65 20 22 24 66 75 74 75 72 65 5f 6c 69 62 64  se "$future_libd
25be0 69 72 73 20 22 20 69 6e 0a 09 20 20 2a 22 20 24  irs " in..  *" $
25bf0 6c 69 62 64 69 72 20 22 2a 29 20 3b 3b 0a 09 20  libdir "*) ;;.. 
25c00 20 2a 29 20 66 75 74 75 72 65 5f 6c 69 62 64 69   *) future_libdi
25c10 72 73 3d 22 24 66 75 74 75 72 65 5f 6c 69 62 64  rs="$future_libd
25c20 69 72 73 20 24 6c 69 62 64 69 72 22 20 3b 3b 0a  irs $libdir" ;;.
25c30 09 20 20 65 73 61 63 0a 09 66 69 0a 0a 09 64 69  .  esac..fi...di
25c40 72 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  r=`$echo "X$file
25c50 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
25c60 2f 5b 5e 2f 5d 2a 24 25 25 27 60 2f 0a 09 74 65  /[^/]*$%%'`/..te
25c70 73 74 20 22 58 24 64 69 72 22 20 3d 20 22 58 24  st "X$dir" = "X$
25c80 66 69 6c 65 2f 22 20 26 26 20 64 69 72 3d 0a 09  file/" && dir=..
25c90 64 69 72 3d 22 24 64 69 72 24 6f 62 6a 64 69 72  dir="$dir$objdir
25ca0 22 0a 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22  "...if test -n "
25cb0 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  $relink_command"
25cc0 3b 20 74 68 65 6e 0a 09 20 20 23 20 44 65 74 65  ; then..  # Dete
25cd0 72 6d 69 6e 65 20 74 68 65 20 70 72 65 66 69 78  rmine the prefix
25ce0 20 74 68 65 20 75 73 65 72 20 68 61 73 20 61 70   the user has ap
25cf0 70 6c 69 65 64 20 74 6f 20 6f 75 72 20 66 75 74  plied to our fut
25d00 75 72 65 20 64 69 72 2e 0a 09 20 20 69 6e 73 74  ure dir...  inst
25d10 5f 70 72 65 66 69 78 5f 64 69 72 3d 60 24 65 63  _prefix_dir=`$ec
25d20 68 6f 20 22 24 64 65 73 74 64 69 72 22 20 7c 20  ho "$destdir" | 
25d30 24 53 45 44 20 22 73 25 24 6c 69 62 64 69 72 5c  $SED "s%$libdir\
25d40 24 25 25 22 60 0a 0a 09 20 20 23 20 44 6f 6e 27  $%%"`...  # Don'
25d50 74 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 72  t allow the user
25d60 20 74 6f 20 70 6c 61 63 65 20 75 73 20 6f 75 74   to place us out
25d70 73 69 64 65 20 6f 66 20 6f 75 72 20 65 78 70 65  side of our expe
25d80 63 74 65 64 0a 09 20 20 23 20 6c 6f 63 61 74 69  cted..  # locati
25d90 6f 6e 20 62 2f 63 20 74 68 69 73 20 70 72 65 76  on b/c this prev
25da0 65 6e 74 73 20 66 69 6e 64 69 6e 67 20 64 65 70  ents finding dep
25db0 65 6e 64 65 6e 74 20 6c 69 62 72 61 72 69 65 73  endent libraries
25dc0 20 74 68 61 74 0a 09 20 20 23 20 61 72 65 20 69   that..  # are i
25dd0 6e 73 74 61 6c 6c 65 64 20 74 6f 20 74 68 65 20  nstalled to the 
25de0 73 61 6d 65 20 70 72 65 66 69 78 2e 0a 09 20 20  same prefix...  
25df0 23 20 41 74 20 70 72 65 73 65 6e 74 2c 20 74 68  # At present, th
25e00 69 73 20 63 68 65 63 6b 20 64 6f 65 73 6e 27 74  is check doesn't
25e10 20 61 66 66 65 63 74 20 77 69 6e 64 6f 77 73 20   affect windows 
25e20 2e 64 6c 6c 27 73 20 74 68 61 74 0a 09 20 20 23  .dll's that..  #
25e30 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 69   are installed i
25e40 6e 74 6f 20 24 6c 69 62 64 69 72 2f 2e 2e 2f 62  nto $libdir/../b
25e50 69 6e 20 28 63 75 72 72 65 6e 74 6c 79 2c 20 74  in (currently, t
25e60 68 61 74 20 77 6f 72 6b 73 20 66 69 6e 65 29 0a  hat works fine).
25e70 09 20 20 23 20 62 75 74 20 69 74 27 73 20 73 6f  .  # but it's so
25e80 6d 65 74 68 69 6e 67 20 74 6f 20 6b 65 65 70 20  mething to keep 
25e90 61 6e 20 65 79 65 20 6f 6e 2e 0a 09 20 20 69 66  an eye on...  if
25ea0 20 74 65 73 74 20 22 24 69 6e 73 74 5f 70 72 65   test "$inst_pre
25eb0 66 69 78 5f 64 69 72 22 20 3d 20 22 24 64 65 73  fix_dir" = "$des
25ec0 74 64 69 72 22 3b 20 74 68 65 6e 0a 09 20 20 20  tdir"; then..   
25ed0 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
25ee0 65 3a 20 65 72 72 6f 72 3a 20 63 61 6e 6e 6f 74  e: error: cannot
25ef0 20 69 6e 73 74 61 6c 6c 20 5c 60 24 66 69 6c 65   install \`$file
25f00 27 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79  ' to a directory
25f10 20 6e 6f 74 20 65 6e 64 69 6e 67 20 69 6e 20 24   not ending in $
25f20 6c 69 62 64 69 72 22 20 31 3e 26 32 0a 09 20 20  libdir" 1>&2..  
25f30 20 20 65 78 69 74 20 31 0a 09 20 20 66 69 0a 0a    exit 1..  fi..
25f40 09 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24  .  if test -n "$
25f50 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 22  inst_prefix_dir"
25f60 3b 20 74 68 65 6e 0a 09 20 20 20 20 23 20 53 74  ; then..    # St
25f70 69 63 6b 20 74 68 65 20 69 6e 73 74 5f 70 72 65  ick the inst_pre
25f80 66 69 78 5f 64 69 72 20 64 61 74 61 20 69 6e 74  fix_dir data int
25f90 6f 20 74 68 65 20 6c 69 6e 6b 20 63 6f 6d 6d 61  o the link comma
25fa0 6e 64 2e 0a 09 20 20 20 20 72 65 6c 69 6e 6b 5f  nd...    relink_
25fb0 63 6f 6d 6d 61 6e 64 3d 60 24 65 63 68 6f 20 22  command=`$echo "
25fc0 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22  $relink_command"
25fd0 20 7c 20 24 53 45 44 20 22 73 25 40 69 6e 73 74   | $SED "s%@inst
25fe0 5f 70 72 65 66 69 78 5f 64 69 72 40 25 2d 69 6e  _prefix_dir@%-in
25ff0 73 74 2d 70 72 65 66 69 78 2d 64 69 72 20 24 69  st-prefix-dir $i
26000 6e 73 74 5f 70 72 65 66 69 78 5f 64 69 72 25 22  nst_prefix_dir%"
26010 60 0a 09 20 20 65 6c 73 65 0a 09 20 20 20 20 72  `..  else..    r
26020 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60 24  elink_command=`$
26030 65 63 68 6f 20 22 24 72 65 6c 69 6e 6b 5f 63 6f  echo "$relink_co
26040 6d 6d 61 6e 64 22 20 7c 20 24 53 45 44 20 22 73  mmand" | $SED "s
26050 25 40 69 6e 73 74 5f 70 72 65 66 69 78 5f 64 69  %@inst_prefix_di
26060 72 40 25 25 22 60 0a 09 20 20 66 69 0a 0a 09 20  r@%%"`..  fi... 
26070 20 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d   $echo "$modenam
26080 65 3a 20 77 61 72 6e 69 6e 67 3a 20 72 65 6c 69  e: warning: reli
26090 6e 6b 69 6e 67 20 5c 60 24 66 69 6c 65 27 22 20  nking \`$file'" 
260a0 31 3e 26 32 0a 09 20 20 24 73 68 6f 77 20 22 24  1>&2..  $show "$
260b0 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 0a  relink_command".
260c0 09 20 20 69 66 20 24 72 75 6e 20 65 76 61 6c 20  .  if $run eval 
260d0 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64  "$relink_command
260e0 22 3b 20 74 68 65 6e 20 3a 0a 09 20 20 65 6c 73  "; then :..  els
260f0 65 0a 09 20 20 20 20 24 65 63 68 6f 20 22 24 6d  e..    $echo "$m
26100 6f 64 65 6e 61 6d 65 3a 20 65 72 72 6f 72 3a 20  odename: error: 
26110 72 65 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27 20  relink \`$file' 
26120 77 69 74 68 20 74 68 65 20 61 62 6f 76 65 20 63  with the above c
26130 6f 6d 6d 61 6e 64 20 62 65 66 6f 72 65 20 69 6e  ommand before in
26140 73 74 61 6c 6c 69 6e 67 20 69 74 22 20 31 3e 26  stalling it" 1>&
26150 32 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20  2..    exit 1.. 
26160 20 66 69 0a 09 66 69 0a 0a 09 23 20 53 65 65 20   fi..fi...# See 
26170 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  the names of the
26180 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 2e   shared library.
26190 0a 09 73 65 74 20 64 75 6d 6d 79 20 24 6c 69 62  ..set dummy $lib
261a0 72 61 72 79 5f 6e 61 6d 65 73 0a 09 69 66 20 74  rary_names..if t
261b0 65 73 74 20 2d 6e 20 22 24 32 22 3b 20 74 68 65  est -n "$2"; the
261c0 6e 0a 09 20 20 72 65 61 6c 6e 61 6d 65 3d 22 24  n..  realname="$
261d0 32 22 0a 09 20 20 73 68 69 66 74 0a 09 20 20 73  2"..  shift..  s
261e0 68 69 66 74 0a 0a 09 20 20 73 72 63 6e 61 6d 65  hift...  srcname
261f0 3d 22 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20 20  ="$realname"..  
26200 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69 6e 6b  test -n "$relink
26210 5f 63 6f 6d 6d 61 6e 64 22 20 26 26 20 73 72 63  _command" && src
26220 6e 61 6d 65 3d 22 24 72 65 61 6c 6e 61 6d 65 22  name="$realname"
26230 54 0a 0a 09 20 20 23 20 49 6e 73 74 61 6c 6c 20  T...  # Install 
26240 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61  the shared libra
26250 72 79 20 61 6e 64 20 62 75 69 6c 64 20 74 68 65  ry and build the
26260 20 73 79 6d 6c 69 6e 6b 73 2e 0a 09 20 20 24 73   symlinks...  $s
26270 68 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72  how "$install_pr
26280 6f 67 20 24 64 69 72 2f 24 73 72 63 6e 61 6d 65  og $dir/$srcname
26290 20 24 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e   $destdir/$realn
262a0 61 6d 65 22 0a 09 20 20 24 72 75 6e 20 65 76 61  ame"..  $run eva
262b0 6c 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  l "$install_prog
262c0 20 24 64 69 72 2f 24 73 72 63 6e 61 6d 65 20 24   $dir/$srcname $
262d0 64 65 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d  destdir/$realnam
262e0 65 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09 20  e" || exit $?.. 
262f0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 74   if test -n "$st
26300 72 69 70 6d 65 22 20 26 26 20 74 65 73 74 20 2d  ripme" && test -
26310 6e 20 22 24 73 74 72 69 70 6c 69 62 22 3b 20 74  n "$striplib"; t
26320 68 65 6e 0a 09 20 20 20 20 24 73 68 6f 77 20 22  hen..    $show "
26330 24 73 74 72 69 70 6c 69 62 20 24 64 65 73 74 64  $striplib $destd
26340 69 72 2f 24 72 65 61 6c 6e 61 6d 65 22 0a 09 20  ir/$realname".. 
26350 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 73     $run eval "$s
26360 74 72 69 70 6c 69 62 20 24 64 65 73 74 64 69 72  triplib $destdir
26370 2f 24 72 65 61 6c 6e 61 6d 65 22 20 7c 7c 20 65  /$realname" || e
26380 78 69 74 20 24 3f 0a 09 20 20 66 69 0a 0a 09 20  xit $?..  fi... 
26390 20 69 66 20 74 65 73 74 20 22 24 23 22 20 2d 67   if test "$#" -g
263a0 74 20 30 3b 20 74 68 65 6e 0a 09 20 20 20 20 23  t 0; then..    #
263b0 20 44 65 6c 65 74 65 20 74 68 65 20 6f 6c 64 20   Delete the old 
263c0 73 79 6d 6c 69 6e 6b 73 2c 20 61 6e 64 20 63 72  symlinks, and cr
263d0 65 61 74 65 20 6e 65 77 20 6f 6e 65 73 2e 0a 09  eate new ones...
263e0 20 20 20 20 66 6f 72 20 6c 69 6e 6b 6e 61 6d 65      for linkname
263f0 0a 09 20 20 20 20 64 6f 0a 09 20 20 20 20 20 20  ..    do..      
26400 69 66 20 74 65 73 74 20 22 24 6c 69 6e 6b 6e 61  if test "$linkna
26410 6d 65 22 20 21 3d 20 22 24 72 65 61 6c 6e 61 6d  me" != "$realnam
26420 65 22 3b 20 74 68 65 6e 0a 09 09 24 73 68 6f 77  e"; then...$show
26430 20 22 28 63 64 20 24 64 65 73 74 64 69 72 20 26   "(cd $destdir &
26440 26 20 24 72 6d 20 24 6c 69 6e 6b 6e 61 6d 65 20  & $rm $linkname 
26450 26 26 20 24 4c 4e 5f 53 20 24 72 65 61 6c 6e 61  && $LN_S $realna
26460 6d 65 20 24 6c 69 6e 6b 6e 61 6d 65 29 22 0a 09  me $linkname)"..
26470 09 24 72 75 6e 20 65 76 61 6c 20 22 28 63 64 20  .$run eval "(cd 
26480 24 64 65 73 74 64 69 72 20 26 26 20 24 72 6d 20  $destdir && $rm 
26490 24 6c 69 6e 6b 6e 61 6d 65 20 26 26 20 24 4c 4e  $linkname && $LN
264a0 5f 53 20 24 72 65 61 6c 6e 61 6d 65 20 24 6c 69  _S $realname $li
264b0 6e 6b 6e 61 6d 65 29 22 0a 09 20 20 20 20 20 20  nkname)"..      
264c0 66 69 0a 09 20 20 20 20 64 6f 6e 65 0a 09 20 20  fi..    done..  
264d0 66 69 0a 0a 09 20 20 23 20 44 6f 20 65 61 63 68  fi...  # Do each
264e0 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20   command in the 
264f0 70 6f 73 74 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d  postinstall comm
26500 61 6e 64 73 2e 0a 09 20 20 6c 69 62 3d 22 24 64  ands...  lib="$d
26510 65 73 74 64 69 72 2f 24 72 65 61 6c 6e 61 6d 65  estdir/$realname
26520 22 0a 09 20 20 63 6d 64 73 3d 24 70 6f 73 74 69  "..  cmds=$posti
26530 6e 73 74 61 6c 6c 5f 63 6d 64 73 0a 09 20 20 73  nstall_cmds..  s
26540 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20  ave_ifs="$IFS"; 
26550 49 46 53 3d 27 7e 27 0a 09 20 20 66 6f 72 20 63  IFS='~'..  for c
26560 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a  md in $cmds; do.
26570 09 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f  .    IFS="$save_
26580 69 66 73 22 0a 09 20 20 20 20 65 76 61 6c 20 63  ifs"..    eval c
26590 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 20 20 20  md=\"$cmd\"..   
265a0 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20   $show "$cmd".. 
265b0 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63     $run eval "$c
265c0 6d 64 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 09  md" || exit $?..
265d0 20 20 64 6f 6e 65 0a 09 20 20 49 46 53 3d 22 24    done..  IFS="$
265e0 73 61 76 65 5f 69 66 73 22 0a 09 66 69 0a 0a 09  save_ifs"..fi...
265f0 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 70 73  # Install the ps
26600 65 75 64 6f 2d 6c 69 62 72 61 72 79 20 66 6f 72  eudo-library for
26610 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 75 72   information pur
26620 70 6f 73 65 73 2e 0a 09 6e 61 6d 65 3d 60 24 65  poses...name=`$e
26630 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24  cho "X$file" | $
26640 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
26650 25 27 60 0a 09 69 6e 73 74 6e 61 6d 65 3d 22 24  %'`..instname="$
26660 64 69 72 2f 24 6e 61 6d 65 22 69 0a 09 24 73 68  dir/$name"i..$sh
26670 6f 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f  ow "$install_pro
26680 67 20 24 69 6e 73 74 6e 61 6d 65 20 24 64 65 73  g $instname $des
26690 74 64 69 72 2f 24 6e 61 6d 65 22 0a 09 24 72 75  tdir/$name"..$ru
266a0 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61 6c 6c  n eval "$install
266b0 5f 70 72 6f 67 20 24 69 6e 73 74 6e 61 6d 65 20  _prog $instname 
266c0 24 64 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 20  $destdir/$name" 
266d0 7c 7c 20 65 78 69 74 20 24 3f 0a 0a 09 23 20 4d  || exit $?...# M
266e0 61 79 62 65 20 69 6e 73 74 61 6c 6c 20 74 68 65  aybe install the
266f0 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2c   static library,
26700 20 74 6f 6f 2e 0a 09 74 65 73 74 20 2d 6e 20 22   too...test -n "
26710 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 20 26 26  $old_library" &&
26720 20 73 74 61 74 69 63 6c 69 62 73 3d 22 24 73 74   staticlibs="$st
26730 61 74 69 63 6c 69 62 73 20 24 64 69 72 2f 24 6f  aticlibs $dir/$o
26740 6c 64 5f 6c 69 62 72 61 72 79 22 0a 09 3b 3b 0a  ld_library"..;;.
26750 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20  .      *.lo)..# 
26760 49 6e 73 74 61 6c 6c 20 28 69 2e 65 2e 20 63 6f  Install (i.e. co
26770 70 79 29 20 61 20 6c 69 62 74 6f 6f 6c 20 6f 62  py) a libtool ob
26780 6a 65 63 74 2e 0a 0a 09 23 20 46 69 67 75 72 65  ject....# Figure
26790 20 6f 75 74 20 64 65 73 74 69 6e 61 74 69 6f 6e   out destination
267a0 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69 66 20 69   file name, if i
267b0 74 20 77 61 73 6e 27 74 20 61 6c 72 65 61 64 79  t wasn't already
267c0 20 73 70 65 63 69 66 69 65 64 2e 0a 09 69 66 20   specified...if 
267d0 74 65 73 74 20 2d 6e 20 22 24 64 65 73 74 6e 61  test -n "$destna
267e0 6d 65 22 3b 20 74 68 65 6e 0a 09 20 20 64 65 73  me"; then..  des
267f0 74 66 69 6c 65 3d 22 24 64 65 73 74 64 69 72 2f  tfile="$destdir/
26800 24 64 65 73 74 6e 61 6d 65 22 0a 09 65 6c 73 65  $destname"..else
26810 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 60 24 65  ..  destfile=`$e
26820 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24  cho "X$file" | $
26830 58 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25  Xsed -e 's%^.*/%
26840 25 27 60 0a 09 20 20 64 65 73 74 66 69 6c 65 3d  %'`..  destfile=
26850 22 24 64 65 73 74 64 69 72 2f 24 64 65 73 74 66  "$destdir/$destf
26860 69 6c 65 22 0a 09 66 69 0a 0a 09 23 20 44 65 64  ile"..fi...# Ded
26870 75 63 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  uce the name of 
26880 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20  the destination 
26890 6f 6c 64 2d 73 74 79 6c 65 20 6f 62 6a 65 63 74  old-style object
268a0 20 66 69 6c 65 2e 0a 09 63 61 73 65 20 24 64 65   file...case $de
268b0 73 74 66 69 6c 65 20 69 6e 0a 09 2a 2e 6c 6f 29  stfile in..*.lo)
268c0 0a 09 20 20 73 74 61 74 69 63 64 65 73 74 3d 60  ..  staticdest=`
268d0 24 65 63 68 6f 20 22 58 24 64 65 73 74 66 69 6c  $echo "X$destfil
268e0 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 22 24  e" | $Xsed -e "$
268f0 6c 6f 32 6f 22 60 0a 09 20 20 3b 3b 0a 09 2a 2e  lo2o"`..  ;;..*.
26900 24 6f 62 6a 65 78 74 29 0a 09 20 20 73 74 61 74  $objext)..  stat
26910 69 63 64 65 73 74 3d 22 24 64 65 73 74 66 69 6c  icdest="$destfil
26920 65 22 0a 09 20 20 64 65 73 74 66 69 6c 65 3d 0a  e"..  destfile=.
26930 09 20 20 3b 3b 0a 09 2a 29 0a 09 20 20 24 65 63  .  ;;..*)..  $ec
26940 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 63  ho "$modename: c
26950 61 6e 6e 6f 74 20 63 6f 70 79 20 61 20 6c 69 62  annot copy a lib
26960 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 74 6f 20 5c  tool object to \
26970 60 24 64 65 73 74 66 69 6c 65 27 22 20 31 3e 26  `$destfile'" 1>&
26980 32 0a 09 20 20 24 65 63 68 6f 20 22 24 68 65 6c  2..  $echo "$hel
26990 70 22 20 31 3e 26 32 0a 09 20 20 65 78 69 74 20  p" 1>&2..  exit 
269a0 31 0a 09 20 20 3b 3b 0a 09 65 73 61 63 0a 0a 09  1..  ;;..esac...
269b0 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 6c 69  # Install the li
269c0 62 74 6f 6f 6c 20 6f 62 6a 65 63 74 20 69 66 20  btool object if 
269d0 72 65 71 75 65 73 74 65 64 2e 0a 09 69 66 20 74  requested...if t
269e0 65 73 74 20 2d 6e 20 22 24 64 65 73 74 66 69 6c  est -n "$destfil
269f0 65 22 3b 20 74 68 65 6e 0a 09 20 20 24 73 68 6f  e"; then..  $sho
26a00 77 20 22 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67  w "$install_prog
26a10 20 24 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65   $file $destfile
26a20 22 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22  "..  $run eval "
26a30 24 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 24 66  $install_prog $f
26a40 69 6c 65 20 24 64 65 73 74 66 69 6c 65 22 20 7c  ile $destfile" |
26a50 7c 20 65 78 69 74 20 24 3f 0a 09 66 69 0a 0a 09  | exit $?..fi...
26a60 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 6f 6c  # Install the ol
26a70 64 20 6f 62 6a 65 63 74 20 69 66 20 65 6e 61 62  d object if enab
26a80 6c 65 64 2e 0a 09 69 66 20 74 65 73 74 20 22 24  led...if test "$
26a90 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 22 20  build_old_libs" 
26aa0 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 20 20 23  = yes; then..  #
26ab0 20 44 65 64 75 63 65 20 74 68 65 20 6e 61 6d 65   Deduce the name
26ac0 20 6f 66 20 74 68 65 20 6f 6c 64 2d 73 74 79 6c   of the old-styl
26ad0 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 09  e object file...
26ae0 20 20 73 74 61 74 69 63 6f 62 6a 3d 60 24 65 63    staticobj=`$ec
26af0 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58  ho "X$file" | $X
26b00 73 65 64 20 2d 65 20 22 24 6c 6f 32 6f 22 60 0a  sed -e "$lo2o"`.
26b10 0a 09 20 20 24 73 68 6f 77 20 22 24 69 6e 73 74  ..  $show "$inst
26b20 61 6c 6c 5f 70 72 6f 67 20 24 73 74 61 74 69 63  all_prog $static
26b30 6f 62 6a 20 24 73 74 61 74 69 63 64 65 73 74 22  obj $staticdest"
26b40 0a 09 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24  ..  $run eval "$
26b50 69 6e 73 74 61 6c 6c 5f 70 72 6f 67 20 5c 24 73  install_prog \$s
26b60 74 61 74 69 63 6f 62 6a 20 5c 24 73 74 61 74 69  taticobj \$stati
26b70 63 64 65 73 74 22 20 7c 7c 20 65 78 69 74 20 24  cdest" || exit $
26b80 3f 0a 09 66 69 0a 09 65 78 69 74 20 30 0a 09 3b  ?..fi..exit 0..;
26b90 3b 0a 0a 20 20 20 20 20 20 2a 29 0a 09 23 20 46  ;..      *)..# F
26ba0 69 67 75 72 65 20 6f 75 74 20 64 65 73 74 69 6e  igure out destin
26bb0 61 74 69 6f 6e 20 66 69 6c 65 20 6e 61 6d 65 2c  ation file name,
26bc0 20 69 66 20 69 74 20 77 61 73 6e 27 74 20 61 6c   if it wasn't al
26bd0 72 65 61 64 79 20 73 70 65 63 69 66 69 65 64 2e  ready specified.
26be0 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 24 64  ..if test -n "$d
26bf0 65 73 74 6e 61 6d 65 22 3b 20 74 68 65 6e 0a 09  estname"; then..
26c00 20 20 64 65 73 74 66 69 6c 65 3d 22 24 64 65 73    destfile="$des
26c10 74 64 69 72 2f 24 64 65 73 74 6e 61 6d 65 22 0a  tdir/$destname".
26c20 09 65 6c 73 65 0a 09 20 20 64 65 73 74 66 69 6c  .else..  destfil
26c30 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
26c40 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
26c50 5e 2e 2a 2f 25 25 27 60 0a 09 20 20 64 65 73 74  ^.*/%%'`..  dest
26c60 66 69 6c 65 3d 22 24 64 65 73 74 64 69 72 2f 24  file="$destdir/$
26c70 64 65 73 74 66 69 6c 65 22 0a 09 66 69 0a 0a 09  destfile"..fi...
26c80 23 20 49 66 20 74 68 65 20 66 69 6c 65 20 69 73  # If the file is
26c90 20 6d 69 73 73 69 6e 67 2c 20 61 6e 64 20 74 68   missing, and th
26ca0 65 72 65 20 69 73 20 61 20 2e 65 78 65 20 6f 6e  ere is a .exe on
26cb0 20 74 68 65 20 65 6e 64 2c 20 73 74 72 69 70 20   the end, strip 
26cc0 69 74 0a 09 23 20 62 65 63 61 75 73 65 20 69 74  it..# because it
26cd0 20 69 73 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20   is most likely 
26ce0 61 20 6c 69 62 74 6f 6f 6c 20 73 63 72 69 70 74  a libtool script
26cf0 20 77 65 20 61 63 74 75 61 6c 6c 79 20 77 61 6e   we actually wan
26d00 74 20 74 6f 0a 09 23 20 69 6e 73 74 61 6c 6c 0a  t to..# install.
26d10 09 73 74 72 69 70 70 65 64 5f 65 78 74 3d 22 22  .stripped_ext=""
26d20 0a 09 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a  ..case $file in.
26d30 09 20 20 2a 2e 65 78 65 29 0a 09 20 20 20 20 69  .  *.exe)..    i
26d40 66 20 74 65 73 74 20 21 20 2d 66 20 22 24 66 69  f test ! -f "$fi
26d50 6c 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20  le"; then..     
26d60 20 66 69 6c 65 3d 60 24 65 63 68 6f 20 24 66 69   file=`$echo $fi
26d70 6c 65 7c 24 7b 53 45 44 7d 20 27 73 2c 2e 65 78  le|${SED} 's,.ex
26d80 65 24 2c 2c 27 60 0a 09 20 20 20 20 20 20 73 74  e$,,'`..      st
26d90 72 69 70 70 65 64 5f 65 78 74 3d 22 2e 65 78 65  ripped_ext=".exe
26da0 22 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20 3b  "..    fi..    ;
26db0 3b 0a 09 65 73 61 63 0a 0a 09 23 20 44 6f 20 61  ;..esac...# Do a
26dc0 20 74 65 73 74 20 74 6f 20 73 65 65 20 69 66 20   test to see if 
26dd0 74 68 69 73 20 69 73 20 72 65 61 6c 6c 79 20 61  this is really a
26de0 20 6c 69 62 74 6f 6f 6c 20 70 72 6f 67 72 61 6d   libtool program
26df0 2e 0a 09 63 61 73 65 20 24 68 6f 73 74 20 69 6e  ...case $host in
26e00 0a 09 2a 63 79 67 77 69 6e 2a 7c 2a 6d 69 6e 67  ..*cygwin*|*ming
26e10 77 2a 29 0a 09 20 20 20 20 77 72 61 70 70 65 72  w*)..    wrapper
26e20 3d 60 24 65 63 68 6f 20 24 66 69 6c 65 20 7c 20  =`$echo $file | 
26e30 24 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e 65 78  ${SED} -e 's,.ex
26e40 65 24 2c 2c 27 60 0a 09 20 20 20 20 3b 3b 0a 09  e$,,'`..    ;;..
26e50 2a 29 0a 09 20 20 20 20 77 72 61 70 70 65 72 3d  *)..    wrapper=
26e60 24 66 69 6c 65 0a 09 20 20 20 20 3b 3b 0a 09 65  $file..    ;;..e
26e70 73 61 63 0a 09 69 66 20 28 24 7b 53 45 44 7d 20  sac..if (${SED} 
26e80 2d 65 20 27 34 71 27 20 24 77 72 61 70 70 65 72  -e '4q' $wrapper
26e90 20 7c 20 67 72 65 70 20 22 5e 23 20 47 65 6e 65   | grep "^# Gene
26ea0 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b  rated by .*$PACK
26eb0 41 47 45 22 29 3e 2f 64 65 76 2f 6e 75 6c 6c 20  AGE")>/dev/null 
26ec0 32 3e 26 31 3b 20 74 68 65 6e 0a 09 20 20 6e 6f  2>&1; then..  no
26ed0 74 69 6e 73 74 5f 64 65 70 6c 69 62 73 3d 0a 09  tinst_deplibs=..
26ee0 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64    relink_command
26ef0 3d 0a 0a 09 20 20 23 20 54 6f 20 69 6e 73 75 72  =...  # To insur
26f00 65 20 74 68 61 74 20 22 66 6f 6f 22 20 69 73 20  e that "foo" is 
26f10 73 6f 75 72 63 65 64 2c 20 61 6e 64 20 6e 6f 74  sourced, and not
26f20 20 22 66 6f 6f 2e 65 78 65 22 2c 0a 09 20 20 23   "foo.exe",..  #
26f30 20 66 69 6e 65 73 65 20 74 68 65 20 63 79 67 77   finese the cygw
26f40 69 6e 2f 4d 53 59 53 20 73 79 73 74 65 6d 20 62  in/MSYS system b
26f50 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73 6f 75  y explicitly sou
26f60 72 63 69 6e 67 20 22 66 6f 6f 2e 22 0a 09 20 20  rcing "foo."..  
26f70 23 20 77 68 69 63 68 20 64 69 73 61 6c 6c 6f 77  # which disallow
26f80 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69 63 2d  s the automatic-
26f90 61 70 70 65 6e 64 2d 2e 65 78 65 20 62 65 68 61  append-.exe beha
26fa0 76 69 6f 72 2e 0a 09 20 20 63 61 73 65 20 24 62  vior...  case $b
26fb0 75 69 6c 64 20 69 6e 0a 09 20 20 2a 63 79 67 77  uild in..  *cygw
26fc0 69 6e 2a 20 7c 20 2a 6d 69 6e 67 77 2a 29 20 77  in* | *mingw*) w
26fd0 72 61 70 70 65 72 64 6f 74 3d 24 7b 77 72 61 70  rapperdot=${wrap
26fe0 70 65 72 7d 2e 20 3b 3b 0a 09 20 20 2a 29 20 77  per}. ;;..  *) w
26ff0 72 61 70 70 65 72 64 6f 74 3d 24 7b 77 72 61 70  rapperdot=${wrap
27000 70 65 72 7d 20 3b 3b 0a 09 20 20 65 73 61 63 0a  per} ;;..  esac.
27010 09 20 20 23 20 49 66 20 74 68 65 72 65 20 69 73  .  # If there is
27020 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20 63 6f   no directory co
27030 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20 61 64  mponent, then ad
27040 64 20 6f 6e 65 2e 0a 09 20 20 63 61 73 65 20 24  d one...  case $
27050 66 69 6c 65 20 69 6e 0a 09 20 20 2a 2f 2a 20 7c  file in..  */* |
27060 20 2a 5c 5c 2a 29 20 2e 20 24 7b 77 72 61 70 70   *\\*) . ${wrapp
27070 65 72 64 6f 74 7d 20 3b 3b 0a 09 20 20 2a 29 20  erdot} ;;..  *) 
27080 2e 20 2e 2f 24 7b 77 72 61 70 70 65 72 64 6f 74  . ./${wrapperdot
27090 7d 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a 09 20  } ;;..  esac... 
270a0 20 23 20 43 68 65 63 6b 20 74 68 65 20 76 61 72   # Check the var
270b0 69 61 62 6c 65 73 20 74 68 61 74 20 73 68 6f 75  iables that shou
270c0 6c 64 20 68 61 76 65 20 62 65 65 6e 20 73 65 74  ld have been set
270d0 2e 0a 09 20 20 69 66 20 74 65 73 74 20 2d 7a 20  ...  if test -z 
270e0 22 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69 62  "$notinst_deplib
270f0 73 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 24 65  s"; then..    $e
27100 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
27110 69 6e 76 61 6c 69 64 20 6c 69 62 74 6f 6f 6c 20  invalid libtool 
27120 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 5c  wrapper script \
27130 60 24 77 72 61 70 70 65 72 27 22 20 31 3e 26 32  `$wrapper'" 1>&2
27140 0a 09 20 20 20 20 65 78 69 74 20 31 0a 09 20 20  ..    exit 1..  
27150 66 69 0a 0a 09 20 20 66 69 6e 61 6c 69 7a 65 3d  fi...  finalize=
27160 79 65 73 0a 09 20 20 66 6f 72 20 6c 69 62 20 69  yes..  for lib i
27170 6e 20 24 6e 6f 74 69 6e 73 74 5f 64 65 70 6c 69  n $notinst_depli
27180 62 73 3b 20 64 6f 0a 09 20 20 20 20 23 20 43 68  bs; do..    # Ch
27190 65 63 6b 20 74 6f 20 73 65 65 20 74 68 61 74 20  eck to see that 
271a0 65 61 63 68 20 6c 69 62 72 61 72 79 20 69 73 20  each library is 
271b0 69 6e 73 74 61 6c 6c 65 64 2e 0a 09 20 20 20 20  installed...    
271c0 6c 69 62 64 69 72 3d 0a 09 20 20 20 20 69 66 20  libdir=..    if 
271d0 74 65 73 74 20 2d 66 20 22 24 6c 69 62 22 3b 20  test -f "$lib"; 
271e0 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20 49 66  then..      # If
271f0 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 72   there is no dir
27200 65 63 74 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74  ectory component
27210 2c 20 74 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a  , then add one..
27220 09 20 20 20 20 20 20 63 61 73 65 20 24 6c 69 62  .      case $lib
27230 20 69 6e 0a 09 20 20 20 20 20 20 2a 2f 2a 20 7c   in..      */* |
27240 20 2a 5c 5c 2a 29 20 2e 20 24 6c 69 62 20 3b 3b   *\\*) . $lib ;;
27250 0a 09 20 20 20 20 20 20 2a 29 20 2e 20 2e 2f 24  ..      *) . ./$
27260 6c 69 62 20 3b 3b 0a 09 20 20 20 20 20 20 65 73  lib ;;..      es
27270 61 63 0a 09 20 20 20 20 66 69 0a 09 20 20 20 20  ac..    fi..    
27280 6c 69 62 66 69 6c 65 3d 22 24 6c 69 62 64 69 72  libfile="$libdir
27290 2f 22 60 24 65 63 68 6f 20 22 58 24 6c 69 62 22  /"`$echo "X$lib"
272a0 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e   | $Xsed -e 's%^
272b0 2e 2a 2f 25 25 67 27 60 20 23 23 23 20 74 65 73  .*/%%g'` ### tes
272c0 74 73 75 69 74 65 3a 20 73 6b 69 70 20 6e 65 73  tsuite: skip nes
272d0 74 65 64 20 71 75 6f 74 69 6e 67 20 74 65 73 74  ted quoting test
272e0 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
272f0 20 22 24 6c 69 62 64 69 72 22 20 26 26 20 74 65   "$libdir" && te
27300 73 74 20 21 20 2d 66 20 22 24 6c 69 62 66 69 6c  st ! -f "$libfil
27310 65 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  e"; then..      
27320 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
27330 3a 20 77 61 72 6e 69 6e 67 3a 20 5c 60 24 6c 69  : warning: \`$li
27340 62 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20  b' has not been 
27350 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 5c 60 24  installed in \`$
27360 6c 69 62 64 69 72 27 22 20 31 3e 26 32 0a 09 20  libdir'" 1>&2.. 
27370 20 20 20 20 20 66 69 6e 61 6c 69 7a 65 3d 6e 6f       finalize=no
27380 0a 09 20 20 20 20 66 69 0a 09 20 20 64 6f 6e 65  ..    fi..  done
27390 0a 0a 09 20 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d  ...  relink_comm
273a0 61 6e 64 3d 0a 09 20 20 23 20 54 6f 20 69 6e 73  and=..  # To ins
273b0 75 72 65 20 74 68 61 74 20 22 66 6f 6f 22 20 69  ure that "foo" i
273c0 73 20 73 6f 75 72 63 65 64 2c 20 61 6e 64 20 6e  s sourced, and n
273d0 6f 74 20 22 66 6f 6f 2e 65 78 65 22 2c 0a 09 20  ot "foo.exe",.. 
273e0 20 23 20 66 69 6e 65 73 65 20 74 68 65 20 63 79   # finese the cy
273f0 67 77 69 6e 2f 4d 53 59 53 20 73 79 73 74 65 6d  gwin/MSYS system
27400 20 62 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73   by explicitly s
27410 6f 75 72 63 69 6e 67 20 22 66 6f 6f 2e 22 0a 09  ourcing "foo."..
27420 20 20 23 20 77 68 69 63 68 20 64 69 73 61 6c 6c    # which disall
27430 6f 77 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69  ows the automati
27440 63 2d 61 70 70 65 6e 64 2d 2e 65 78 65 20 62 65  c-append-.exe be
27450 68 61 76 69 6f 72 2e 0a 09 20 20 63 61 73 65 20  havior...  case 
27460 24 62 75 69 6c 64 20 69 6e 0a 09 20 20 2a 63 79  $build in..  *cy
27470 67 77 69 6e 2a 20 7c 20 2a 6d 69 6e 67 77 2a 29  gwin* | *mingw*)
27480 20 77 72 61 70 70 65 72 64 6f 74 3d 24 7b 77 72   wrapperdot=${wr
27490 61 70 70 65 72 7d 2e 20 3b 3b 0a 09 20 20 2a 29  apper}. ;;..  *)
274a0 20 77 72 61 70 70 65 72 64 6f 74 3d 24 7b 77 72   wrapperdot=${wr
274b0 61 70 70 65 72 7d 20 3b 3b 0a 09 20 20 65 73 61  apper} ;;..  esa
274c0 63 0a 09 20 20 23 20 49 66 20 74 68 65 72 65 20  c..  # If there 
274d0 69 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20  is no directory 
274e0 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20  component, then 
274f0 61 64 64 20 6f 6e 65 2e 0a 09 20 20 63 61 73 65  add one...  case
27500 20 24 66 69 6c 65 20 69 6e 0a 09 20 20 2a 2f 2a   $file in..  */*
27510 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24 7b 77 72 61   | *\\*) . ${wra
27520 70 70 65 72 64 6f 74 7d 20 3b 3b 0a 09 20 20 2a  pperdot} ;;..  *
27530 29 20 2e 20 2e 2f 24 7b 77 72 61 70 70 65 72 64  ) . ./${wrapperd
27540 6f 74 7d 20 3b 3b 0a 09 20 20 65 73 61 63 0a 0a  ot} ;;..  esac..
27550 09 20 20 6f 75 74 70 75 74 6e 61 6d 65 3d 0a 09  .  outputname=..
27560 20 20 69 66 20 74 65 73 74 20 22 24 66 61 73 74    if test "$fast
27570 5f 69 6e 73 74 61 6c 6c 22 20 3d 20 6e 6f 20 26  _install" = no &
27580 26 20 74 65 73 74 20 2d 6e 20 22 24 72 65 6c 69  & test -n "$reli
27590 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65  nk_command"; the
275a0 6e 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  n..    if test "
275b0 24 66 69 6e 61 6c 69 7a 65 22 20 3d 20 79 65 73  $finalize" = yes
275c0 20 26 26 20 74 65 73 74 20 2d 7a 20 22 24 72 75   && test -z "$ru
275d0 6e 22 3b 20 74 68 65 6e 0a 09 20 20 20 20 20 20  n"; then..      
275e0 74 6d 70 64 69 72 3d 22 2f 74 6d 70 22 0a 09 20  tmpdir="/tmp".. 
275f0 20 20 20 20 20 74 65 73 74 20 2d 6e 20 22 24 54       test -n "$T
27600 4d 50 44 49 52 22 20 26 26 20 74 6d 70 64 69 72  MPDIR" && tmpdir
27610 3d 22 24 54 4d 50 44 49 52 22 0a 09 20 20 20 20  ="$TMPDIR"..    
27620 20 20 74 6d 70 64 69 72 3d 22 24 74 6d 70 64 69    tmpdir="$tmpdi
27630 72 2f 6c 69 62 74 6f 6f 6c 2d 24 24 22 0a 09 20  r/libtool-$$".. 
27640 20 20 20 20 20 69 66 20 24 6d 6b 64 69 72 20 22       if $mkdir "
27650 24 74 6d 70 64 69 72 22 20 26 26 20 63 68 6d 6f  $tmpdir" && chmo
27660 64 20 37 30 30 20 22 24 74 6d 70 64 69 72 22 3b  d 700 "$tmpdir";
27670 20 74 68 65 6e 20 3a 0a 09 20 20 20 20 20 20 65   then :..      e
27680 6c 73 65 0a 09 09 24 65 63 68 6f 20 22 24 6d 6f  lse...$echo "$mo
27690 64 65 6e 61 6d 65 3a 20 65 72 72 6f 72 3a 20 63  dename: error: c
276a0 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 74 65 6d  annot create tem
276b0 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79  porary directory
276c0 20 5c 60 24 74 6d 70 64 69 72 27 22 20 31 3e 26   \`$tmpdir'" 1>&
276d0 32 0a 09 09 63 6f 6e 74 69 6e 75 65 0a 09 20 20  2...continue..  
276e0 20 20 20 20 66 69 0a 09 20 20 20 20 20 20 66 69      fi..      fi
276f0 6c 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c  le=`$echo "X$fil
27700 65 24 73 74 72 69 70 70 65 64 5f 65 78 74 22 20  e$stripped_ext" 
27710 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25 5e 2e  | $Xsed -e 's%^.
27720 2a 2f 25 25 27 60 0a 09 20 20 20 20 20 20 6f 75  */%%'`..      ou
27730 74 70 75 74 6e 61 6d 65 3d 22 24 74 6d 70 64 69  tputname="$tmpdi
27740 72 2f 24 66 69 6c 65 22 0a 09 20 20 20 20 20 20  r/$file"..      
27750 23 20 52 65 70 6c 61 63 65 20 74 68 65 20 6f 75  # Replace the ou
27760 74 70 75 74 20 66 69 6c 65 20 73 70 65 63 69 66  tput file specif
27770 69 63 61 74 69 6f 6e 2e 0a 09 20 20 20 20 20 20  ication...      
27780 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 60  relink_command=`
27790 24 65 63 68 6f 20 22 58 24 72 65 6c 69 6e 6b 5f  $echo "X$relink_
277a0 63 6f 6d 6d 61 6e 64 22 20 7c 20 24 58 73 65 64  command" | $Xsed
277b0 20 2d 65 20 27 73 25 40 4f 55 54 50 55 54 40 25   -e 's%@OUTPUT@%
277c0 27 22 24 6f 75 74 70 75 74 6e 61 6d 65 22 27 25  '"$outputname"'%
277d0 67 27 60 0a 0a 09 20 20 20 20 20 20 24 73 68 6f  g'`...      $sho
277e0 77 20 22 24 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61  w "$relink_comma
277f0 6e 64 22 0a 09 20 20 20 20 20 20 69 66 20 24 72  nd"..      if $r
27800 75 6e 20 65 76 61 6c 20 22 24 72 65 6c 69 6e 6b  un eval "$relink
27810 5f 63 6f 6d 6d 61 6e 64 22 3b 20 74 68 65 6e 20  _command"; then 
27820 3a 0a 09 20 20 20 20 20 20 65 6c 73 65 0a 09 09  :..      else...
27830 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
27840 3a 20 65 72 72 6f 72 3a 20 72 65 6c 69 6e 6b 20  : error: relink 
27850 5c 60 24 66 69 6c 65 27 20 77 69 74 68 20 74 68  \`$file' with th
27860 65 20 61 62 6f 76 65 20 63 6f 6d 6d 61 6e 64 20  e above command 
27870 62 65 66 6f 72 65 20 69 6e 73 74 61 6c 6c 69 6e  before installin
27880 67 20 69 74 22 20 31 3e 26 32 0a 09 09 24 7b 72  g it" 1>&2...${r
27890 6d 7d 72 20 22 24 74 6d 70 64 69 72 22 0a 09 09  m}r "$tmpdir"...
278a0 63 6f 6e 74 69 6e 75 65 0a 09 20 20 20 20 20 20  continue..      
278b0 66 69 0a 09 20 20 20 20 20 20 66 69 6c 65 3d 22  fi..      file="
278c0 24 6f 75 74 70 75 74 6e 61 6d 65 22 0a 09 20 20  $outputname"..  
278d0 20 20 65 6c 73 65 0a 09 20 20 20 20 20 20 24 65    else..      $e
278e0 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
278f0 77 61 72 6e 69 6e 67 3a 20 63 61 6e 6e 6f 74 20  warning: cannot 
27900 72 65 6c 69 6e 6b 20 5c 60 24 66 69 6c 65 27 22  relink \`$file'"
27910 20 31 3e 26 32 0a 09 20 20 20 20 66 69 0a 09 20   1>&2..    fi.. 
27920 20 65 6c 73 65 0a 09 20 20 20 20 23 20 49 6e 73   else..    # Ins
27930 74 61 6c 6c 20 74 68 65 20 62 69 6e 61 72 79 20  tall the binary 
27940 74 68 61 74 20 77 65 20 63 6f 6d 70 69 6c 65 64  that we compiled
27950 20 65 61 72 6c 69 65 72 2e 0a 09 20 20 20 20 66   earlier...    f
27960 69 6c 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69  ile=`$echo "X$fi
27970 6c 65 24 73 74 72 69 70 70 65 64 5f 65 78 74 22  le$stripped_ext"
27980 20 7c 20 24 58 73 65 64 20 2d 65 20 22 73 25 5c   | $Xsed -e "s%\
27990 28 5b 5e 2f 5d 2a 5c 29 24 25 24 6f 62 6a 64 69  ([^/]*\)$%$objdi
279a0 72 2f 5c 31 25 22 60 0a 09 20 20 66 69 0a 09 66  r/\1%"`..  fi..f
279b0 69 0a 0a 09 23 20 72 65 6d 6f 76 65 20 2e 65 78  i...# remove .ex
279c0 65 20 73 69 6e 63 65 20 63 79 67 77 69 6e 20 2f  e since cygwin /
279d0 75 73 72 2f 62 69 6e 2f 69 6e 73 74 61 6c 6c 20  usr/bin/install 
279e0 77 69 6c 6c 20 61 70 70 65 6e 64 20 61 6e 6f 74  will append anot
279f0 68 65 72 0a 09 23 20 6f 6e 65 20 61 6e 79 77 61  her..# one anywa
27a00 79 73 0a 09 63 61 73 65 20 24 69 6e 73 74 61 6c  ys..case $instal
27a10 6c 5f 70 72 6f 67 2c 24 68 6f 73 74 20 69 6e 0a  l_prog,$host in.
27a20 09 2a 2f 75 73 72 2f 62 69 6e 2f 69 6e 73 74 61  .*/usr/bin/insta
27a30 6c 6c 2a 2c 2a 63 79 67 77 69 6e 2a 29 0a 09 20  ll*,*cygwin*).. 
27a40 20 63 61 73 65 20 24 66 69 6c 65 3a 24 64 65 73   case $file:$des
27a50 74 66 69 6c 65 20 69 6e 0a 09 20 20 2a 2e 65 78  tfile in..  *.ex
27a60 65 3a 2a 2e 65 78 65 29 0a 09 20 20 20 20 23 20  e:*.exe)..    # 
27a70 74 68 69 73 20 69 73 20 6f 6b 0a 09 20 20 20 20  this is ok..    
27a80 3b 3b 0a 09 20 20 2a 2e 65 78 65 3a 2a 29 0a 09  ;;..  *.exe:*)..
27a90 20 20 20 20 64 65 73 74 66 69 6c 65 3d 24 64 65      destfile=$de
27aa0 73 74 66 69 6c 65 2e 65 78 65 0a 09 20 20 20 20  stfile.exe..    
27ab0 3b 3b 0a 09 20 20 2a 3a 2a 2e 65 78 65 29 0a 09  ;;..  *:*.exe)..
27ac0 20 20 20 20 64 65 73 74 66 69 6c 65 3d 60 24 65      destfile=`$e
27ad0 63 68 6f 20 24 64 65 73 74 66 69 6c 65 20 7c 20  cho $destfile | 
27ae0 24 7b 53 45 44 7d 20 2d 65 20 27 73 2c 2e 65 78  ${SED} -e 's,.ex
27af0 65 24 2c 2c 27 60 0a 09 20 20 20 20 3b 3b 0a 09  e$,,'`..    ;;..
27b00 20 20 65 73 61 63 0a 09 20 20 3b 3b 0a 09 65 73    esac..  ;;..es
27b10 61 63 0a 09 24 73 68 6f 77 20 22 24 69 6e 73 74  ac..$show "$inst
27b20 61 6c 6c 5f 70 72 6f 67 24 73 74 72 69 70 6d 65  all_prog$stripme
27b30 20 24 66 69 6c 65 20 24 64 65 73 74 66 69 6c 65   $file $destfile
27b40 22 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 69  "..$run eval "$i
27b50 6e 73 74 61 6c 6c 5f 70 72 6f 67 5c 24 73 74 72  nstall_prog\$str
27b60 69 70 6d 65 20 5c 24 66 69 6c 65 20 5c 24 64 65  ipme \$file \$de
27b70 73 74 66 69 6c 65 22 20 7c 7c 20 65 78 69 74 20  stfile" || exit 
27b80 24 3f 0a 09 74 65 73 74 20 2d 6e 20 22 24 6f 75  $?..test -n "$ou
27b90 74 70 75 74 6e 61 6d 65 22 20 26 26 20 24 7b 72  tputname" && ${r
27ba0 6d 7d 72 20 22 24 74 6d 70 64 69 72 22 0a 09 3b  m}r "$tmpdir"..;
27bb0 3b 0a 20 20 20 20 20 20 65 73 61 63 0a 20 20 20  ;.      esac.   
27bc0 20 64 6f 6e 65 0a 0a 20 20 20 20 66 6f 72 20 66   done..    for f
27bd0 69 6c 65 20 69 6e 20 24 73 74 61 74 69 63 6c 69  ile in $staticli
27be0 62 73 3b 20 64 6f 0a 20 20 20 20 20 20 6e 61 6d  bs; do.      nam
27bf0 65 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c 65  e=`$echo "X$file
27c00 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73 25  " | $Xsed -e 's%
27c10 5e 2e 2a 2f 25 25 27 60 0a 0a 20 20 20 20 20 20  ^.*/%%'`..      
27c20 23 20 53 65 74 20 75 70 20 74 68 65 20 72 61 6e  # Set up the ran
27c30 6c 69 62 20 70 61 72 61 6d 65 74 65 72 73 2e 0a  lib parameters..
27c40 20 20 20 20 20 20 6f 6c 64 6c 69 62 3d 22 24 64        oldlib="$d
27c50 65 73 74 64 69 72 2f 24 6e 61 6d 65 22 0a 0a 20  estdir/$name".. 
27c60 20 20 20 20 20 24 73 68 6f 77 20 22 24 69 6e 73       $show "$ins
27c70 74 61 6c 6c 5f 70 72 6f 67 20 24 66 69 6c 65 20  tall_prog $file 
27c80 24 6f 6c 64 6c 69 62 22 0a 20 20 20 20 20 20 24  $oldlib".      $
27c90 72 75 6e 20 65 76 61 6c 20 22 24 69 6e 73 74 61  run eval "$insta
27ca0 6c 6c 5f 70 72 6f 67 20 5c 24 66 69 6c 65 20 5c  ll_prog \$file \
27cb0 24 6f 6c 64 6c 69 62 22 20 7c 7c 20 65 78 69 74  $oldlib" || exit
27cc0 20 24 3f 0a 0a 20 20 20 20 20 20 69 66 20 74 65   $?..      if te
27cd0 73 74 20 2d 6e 20 22 24 73 74 72 69 70 6d 65 22  st -n "$stripme"
27ce0 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c   && test -n "$ol
27cf0 64 5f 73 74 72 69 70 6c 69 62 22 3b 20 74 68 65  d_striplib"; the
27d00 6e 0a 09 24 73 68 6f 77 20 22 24 6f 6c 64 5f 73  n..$show "$old_s
27d10 74 72 69 70 6c 69 62 20 24 6f 6c 64 6c 69 62 22  triplib $oldlib"
27d20 0a 09 24 72 75 6e 20 65 76 61 6c 20 22 24 6f 6c  ..$run eval "$ol
27d30 64 5f 73 74 72 69 70 6c 69 62 20 24 6f 6c 64 6c  d_striplib $oldl
27d40 69 62 22 20 7c 7c 20 65 78 69 74 20 24 3f 0a 20  ib" || exit $?. 
27d50 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20 23       fi..      #
27d60 20 44 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64   Do each command
27d70 20 69 6e 20 74 68 65 20 70 6f 73 74 69 6e 73 74   in the postinst
27d80 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20  all commands..  
27d90 20 20 20 20 63 6d 64 73 3d 24 6f 6c 64 5f 70 6f      cmds=$old_po
27da0 73 74 69 6e 73 74 61 6c 6c 5f 63 6d 64 73 0a 20  stinstall_cmds. 
27db0 20 20 20 20 20 73 61 76 65 5f 69 66 73 3d 22 24       save_ifs="$
27dc0 49 46 53 22 3b 20 49 46 53 3d 27 7e 27 0a 20 20  IFS"; IFS='~'.  
27dd0 20 20 20 20 66 6f 72 20 63 6d 64 20 69 6e 20 24      for cmd in $
27de0 63 6d 64 73 3b 20 64 6f 0a 09 49 46 53 3d 22 24  cmds; do..IFS="$
27df0 73 61 76 65 5f 69 66 73 22 0a 09 65 76 61 6c 20  save_ifs"..eval 
27e00 63 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 24 73  cmd=\"$cmd\"..$s
27e10 68 6f 77 20 22 24 63 6d 64 22 0a 09 24 72 75 6e  how "$cmd"..$run
27e20 20 65 76 61 6c 20 22 24 63 6d 64 22 20 7c 7c 20   eval "$cmd" || 
27e30 65 78 69 74 20 24 3f 0a 20 20 20 20 20 20 64 6f  exit $?.      do
27e40 6e 65 0a 20 20 20 20 20 20 49 46 53 3d 22 24 73  ne.      IFS="$s
27e50 61 76 65 5f 69 66 73 22 0a 20 20 20 20 64 6f 6e  ave_ifs".    don
27e60 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d  e..    if test -
27e70 6e 20 22 24 66 75 74 75 72 65 5f 6c 69 62 64 69  n "$future_libdi
27e80 72 73 22 3b 20 74 68 65 6e 0a 20 20 20 20 20 20  rs"; then.      
27e90 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65  $echo "$modename
27ea0 3a 20 77 61 72 6e 69 6e 67 3a 20 72 65 6d 65 6d  : warning: remem
27eb0 62 65 72 20 74 6f 20 72 75 6e 20 5c 60 24 70 72  ber to run \`$pr
27ec0 6f 67 6e 61 6d 65 20 2d 2d 66 69 6e 69 73 68 24  ogname --finish$
27ed0 66 75 74 75 72 65 5f 6c 69 62 64 69 72 73 27 22  future_libdirs'"
27ee0 20 31 3e 26 32 0a 20 20 20 20 66 69 0a 0a 20 20   1>&2.    fi..  
27ef0 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 63    if test -n "$c
27f00 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 22 3b  urrent_libdirs";
27f10 20 74 68 65 6e 0a 20 20 20 20 20 20 23 20 4d 61   then.      # Ma
27f20 79 62 65 20 6a 75 73 74 20 64 6f 20 61 20 64 72  ybe just do a dr
27f30 79 20 72 75 6e 2e 0a 20 20 20 20 20 20 74 65 73  y run..      tes
27f40 74 20 2d 6e 20 22 24 72 75 6e 22 20 26 26 20 63  t -n "$run" && c
27f50 75 72 72 65 6e 74 5f 6c 69 62 64 69 72 73 3d 22  urrent_libdirs="
27f60 20 2d 6e 24 63 75 72 72 65 6e 74 5f 6c 69 62 64   -n$current_libd
27f70 69 72 73 22 0a 20 20 20 20 20 20 65 78 65 63 5f  irs".      exec_
27f80 63 6d 64 3d 27 24 53 48 45 4c 4c 20 24 30 20 24  cmd='$SHELL $0 $
27f90 70 72 65 73 65 72 76 65 5f 61 72 67 73 20 2d 2d  preserve_args --
27fa0 66 69 6e 69 73 68 24 63 75 72 72 65 6e 74 5f 6c  finish$current_l
27fb0 69 62 64 69 72 73 27 0a 20 20 20 20 65 6c 73 65  ibdirs'.    else
27fc0 0a 20 20 20 20 20 20 65 78 69 74 20 30 0a 20 20  .      exit 0.  
27fd0 20 20 66 69 0a 20 20 20 20 3b 3b 0a 0a 20 20 23    fi.    ;;..  #
27fe0 20 6c 69 62 74 6f 6f 6c 20 66 69 6e 69 73 68 20   libtool finish 
27ff0 6d 6f 64 65 0a 20 20 66 69 6e 69 73 68 29 0a 20  mode.  finish). 
28000 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f     modename="$mo
28010 64 65 6e 61 6d 65 3a 20 66 69 6e 69 73 68 22 0a  dename: finish".
28020 20 20 20 20 6c 69 62 64 69 72 73 3d 22 24 6e 6f      libdirs="$no
28030 6e 6f 70 74 22 0a 20 20 20 20 61 64 6d 69 6e 63  nopt".    adminc
28040 6d 64 73 3d 0a 0a 20 20 20 20 69 66 20 74 65 73  mds=..    if tes
28050 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 63 6d  t -n "$finish_cm
28060 64 73 24 66 69 6e 69 73 68 5f 65 76 61 6c 22 20  ds$finish_eval" 
28070 26 26 20 74 65 73 74 20 2d 6e 20 22 24 6c 69 62  && test -n "$lib
28080 64 69 72 73 22 3b 20 74 68 65 6e 0a 20 20 20 20  dirs"; then.    
28090 20 20 66 6f 72 20 64 69 72 0a 20 20 20 20 20 20    for dir.      
280a0 64 6f 0a 09 6c 69 62 64 69 72 73 3d 22 24 6c 69  do..libdirs="$li
280b0 62 64 69 72 73 20 24 64 69 72 22 0a 20 20 20 20  bdirs $dir".    
280c0 20 20 64 6f 6e 65 0a 0a 20 20 20 20 20 20 66 6f    done..      fo
280d0 72 20 6c 69 62 64 69 72 20 69 6e 20 24 6c 69 62  r libdir in $lib
280e0 64 69 72 73 3b 20 64 6f 0a 09 69 66 20 74 65 73  dirs; do..if tes
280f0 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 63 6d  t -n "$finish_cm
28100 64 73 22 3b 20 74 68 65 6e 0a 09 20 20 23 20 44  ds"; then..  # D
28110 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69  o each command i
28120 6e 20 74 68 65 20 66 69 6e 69 73 68 20 63 6f 6d  n the finish com
28130 6d 61 6e 64 73 2e 0a 09 20 20 63 6d 64 73 3d 24  mands...  cmds=$
28140 66 69 6e 69 73 68 5f 63 6d 64 73 0a 09 20 20 73  finish_cmds..  s
28150 61 76 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20  ave_ifs="$IFS"; 
28160 49 46 53 3d 27 7e 27 0a 09 20 20 66 6f 72 20 63  IFS='~'..  for c
28170 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f 0a  md in $cmds; do.
28180 09 20 20 20 20 49 46 53 3d 22 24 73 61 76 65 5f  .    IFS="$save_
28190 69 66 73 22 0a 09 20 20 20 20 65 76 61 6c 20 63  ifs"..    eval c
281a0 6d 64 3d 5c 22 24 63 6d 64 5c 22 0a 09 20 20 20  md=\"$cmd\"..   
281b0 20 24 73 68 6f 77 20 22 24 63 6d 64 22 0a 09 20   $show "$cmd".. 
281c0 20 20 20 24 72 75 6e 20 65 76 61 6c 20 22 24 63     $run eval "$c
281d0 6d 64 22 20 7c 7c 20 61 64 6d 69 6e 63 6d 64 73  md" || admincmds
281e0 3d 22 24 61 64 6d 69 6e 63 6d 64 73 0a 20 20 20  ="$admincmds.   
281f0 20 20 20 20 24 63 6d 64 22 0a 09 20 20 64 6f 6e      $cmd"..  don
28200 65 0a 09 20 20 49 46 53 3d 22 24 73 61 76 65 5f  e..  IFS="$save_
28210 69 66 73 22 0a 09 66 69 0a 09 69 66 20 74 65 73  ifs"..fi..if tes
28220 74 20 2d 6e 20 22 24 66 69 6e 69 73 68 5f 65 76  t -n "$finish_ev
28230 61 6c 22 3b 20 74 68 65 6e 0a 09 20 20 23 20 44  al"; then..  # D
28240 6f 20 74 68 65 20 73 69 6e 67 6c 65 20 66 69 6e  o the single fin
28250 69 73 68 5f 65 76 61 6c 2e 0a 09 20 20 65 76 61  ish_eval...  eva
28260 6c 20 63 6d 64 73 3d 5c 22 24 66 69 6e 69 73 68  l cmds=\"$finish
28270 5f 65 76 61 6c 5c 22 0a 09 20 20 24 72 75 6e 20  _eval\"..  $run 
28280 65 76 61 6c 20 22 24 63 6d 64 73 22 20 7c 7c 20  eval "$cmds" || 
28290 61 64 6d 69 6e 63 6d 64 73 3d 22 24 61 64 6d 69  admincmds="$admi
282a0 6e 63 6d 64 73 0a 20 20 20 20 20 20 20 24 63 6d  ncmds.       $cm
282b0 64 73 22 0a 09 66 69 0a 20 20 20 20 20 20 64 6f  ds"..fi.      do
282c0 6e 65 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 23  ne.    fi..    #
282d0 20 45 78 69 74 20 68 65 72 65 20 69 66 20 74 68   Exit here if th
282e0 65 79 20 77 61 6e 74 65 64 20 73 69 6c 65 6e 74  ey wanted silent
282f0 20 6d 6f 64 65 2e 0a 20 20 20 20 74 65 73 74 20   mode..    test 
28300 22 24 73 68 6f 77 22 20 3d 20 3a 20 26 26 20 65  "$show" = : && e
28310 78 69 74 20 30 0a 0a 20 20 20 20 24 65 63 68 6f  xit 0..    $echo
28320 20 22 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   "--------------
28330 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
28340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
28350 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
28360 2d 2d 2d 2d 2d 2d 2d 2d 22 0a 20 20 20 20 24 65  --------".    $e
28370 63 68 6f 20 22 4c 69 62 72 61 72 69 65 73 20 68  cho "Libraries h
28380 61 76 65 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c  ave been install
28390 65 64 20 69 6e 3a 22 0a 20 20 20 20 66 6f 72 20  ed in:".    for 
283a0 6c 69 62 64 69 72 20 69 6e 20 24 6c 69 62 64 69  libdir in $libdi
283b0 72 73 3b 20 64 6f 0a 20 20 20 20 20 20 24 65 63  rs; do.      $ec
283c0 68 6f 20 22 20 20 20 24 6c 69 62 64 69 72 22 0a  ho "   $libdir".
283d0 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 24 65 63      done.    $ec
283e0 68 6f 0a 20 20 20 20 24 65 63 68 6f 20 22 49 66  ho.    $echo "If
283f0 20 79 6f 75 20 65 76 65 72 20 68 61 70 70 65 6e   you ever happen
28400 20 74 6f 20 77 61 6e 74 20 74 6f 20 6c 69 6e 6b   to want to link
28410 20 61 67 61 69 6e 73 74 20 69 6e 73 74 61 6c 6c   against install
28420 65 64 20 6c 69 62 72 61 72 69 65 73 22 0a 20 20  ed libraries".  
28430 20 20 24 65 63 68 6f 20 22 69 6e 20 61 20 67 69    $echo "in a gi
28440 76 65 6e 20 64 69 72 65 63 74 6f 72 79 2c 20 4c  ven directory, L
28450 49 42 44 49 52 2c 20 79 6f 75 20 6d 75 73 74 20  IBDIR, you must 
28460 65 69 74 68 65 72 20 75 73 65 20 6c 69 62 74 6f  either use libto
28470 6f 6c 2c 20 61 6e 64 22 0a 20 20 20 20 24 65 63  ol, and".    $ec
28480 68 6f 20 22 73 70 65 63 69 66 79 20 74 68 65 20  ho "specify the 
28490 66 75 6c 6c 20 70 61 74 68 6e 61 6d 65 20 6f 66  full pathname of
284a0 20 74 68 65 20 6c 69 62 72 61 72 79 2c 20 6f 72   the library, or
284b0 20 75 73 65 20 74 68 65 20 5c 60 2d 4c 4c 49 42   use the \`-LLIB
284c0 44 49 52 27 22 0a 20 20 20 20 24 65 63 68 6f 20  DIR'".    $echo 
284d0 22 66 6c 61 67 20 64 75 72 69 6e 67 20 6c 69 6e  "flag during lin
284e0 6b 69 6e 67 20 61 6e 64 20 64 6f 20 61 74 20 6c  king and do at l
284f0 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 20  east one of the 
28500 66 6f 6c 6c 6f 77 69 6e 67 3a 22 0a 20 20 20 20  following:".    
28510 69 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c  if test -n "$shl
28520 69 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65  ibpath_var"; the
28530 6e 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 20  n.      $echo " 
28540 20 20 2d 20 61 64 64 20 4c 49 42 44 49 52 20 74    - add LIBDIR t
28550 6f 20 74 68 65 20 5c 60 24 73 68 6c 69 62 70 61  o the \`$shlibpa
28560 74 68 5f 76 61 72 27 20 65 6e 76 69 72 6f 6e 6d  th_var' environm
28570 65 6e 74 20 76 61 72 69 61 62 6c 65 22 0a 20 20  ent variable".  
28580 20 20 20 20 24 65 63 68 6f 20 22 20 20 20 20 20      $echo "     
28590 64 75 72 69 6e 67 20 65 78 65 63 75 74 69 6f 6e  during execution
285a0 22 0a 20 20 20 20 66 69 0a 20 20 20 20 69 66 20  ".    fi.    if 
285b0 74 65 73 74 20 2d 6e 20 22 24 72 75 6e 70 61 74  test -n "$runpat
285c0 68 5f 76 61 72 22 3b 20 74 68 65 6e 0a 20 20 20  h_var"; then.   
285d0 20 20 20 24 65 63 68 6f 20 22 20 20 20 2d 20 61     $echo "   - a
285e0 64 64 20 4c 49 42 44 49 52 20 74 6f 20 74 68 65  dd LIBDIR to the
285f0 20 5c 60 24 72 75 6e 70 61 74 68 5f 76 61 72 27   \`$runpath_var'
28600 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
28610 69 61 62 6c 65 22 0a 20 20 20 20 20 20 24 65 63  iable".      $ec
28620 68 6f 20 22 20 20 20 20 20 64 75 72 69 6e 67 20  ho "     during 
28630 6c 69 6e 6b 69 6e 67 22 0a 20 20 20 20 66 69 0a  linking".    fi.
28640 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e 20 22      if test -n "
28650 24 68 61 72 64 63 6f 64 65 5f 6c 69 62 64 69 72  $hardcode_libdir
28660 5f 66 6c 61 67 5f 73 70 65 63 22 3b 20 74 68 65  _flag_spec"; the
28670 6e 0a 20 20 20 20 20 20 6c 69 62 64 69 72 3d 4c  n.      libdir=L
28680 49 42 44 49 52 0a 20 20 20 20 20 20 65 76 61 6c  IBDIR.      eval
28690 20 66 6c 61 67 3d 5c 22 24 68 61 72 64 63 6f 64   flag=\"$hardcod
286a0 65 5f 6c 69 62 64 69 72 5f 66 6c 61 67 5f 73 70  e_libdir_flag_sp
286b0 65 63 5c 22 0a 0a 20 20 20 20 20 20 24 65 63 68  ec\"..      $ech
286c0 6f 20 22 20 20 20 2d 20 75 73 65 20 74 68 65 20  o "   - use the 
286d0 5c 60 24 66 6c 61 67 27 20 6c 69 6e 6b 65 72 20  \`$flag' linker 
286e0 66 6c 61 67 22 0a 20 20 20 20 66 69 0a 20 20 20  flag".    fi.   
286f0 20 69 66 20 74 65 73 74 20 2d 6e 20 22 24 61 64   if test -n "$ad
28700 6d 69 6e 63 6d 64 73 22 3b 20 74 68 65 6e 0a 20  mincmds"; then. 
28710 20 20 20 20 20 24 65 63 68 6f 20 22 20 20 20 2d       $echo "   -
28720 20 68 61 76 65 20 79 6f 75 72 20 73 79 73 74 65   have your syste
28730 6d 20 61 64 6d 69 6e 69 73 74 72 61 74 6f 72 20  m administrator 
28740 72 75 6e 20 74 68 65 73 65 20 63 6f 6d 6d 61 6e  run these comman
28750 64 73 3a 24 61 64 6d 69 6e 63 6d 64 73 22 0a 20  ds:$admincmds". 
28760 20 20 20 66 69 0a 20 20 20 20 69 66 20 74 65 73     fi.    if tes
28770 74 20 2d 66 20 2f 65 74 63 2f 6c 64 2e 73 6f 2e  t -f /etc/ld.so.
28780 63 6f 6e 66 3b 20 74 68 65 6e 0a 20 20 20 20 20  conf; then.     
28790 20 24 65 63 68 6f 20 22 20 20 20 2d 20 68 61 76   $echo "   - hav
287a0 65 20 79 6f 75 72 20 73 79 73 74 65 6d 20 61 64  e your system ad
287b0 6d 69 6e 69 73 74 72 61 74 6f 72 20 61 64 64 20  ministrator add 
287c0 4c 49 42 44 49 52 20 74 6f 20 5c 60 2f 65 74 63  LIBDIR to \`/etc
287d0 2f 6c 64 2e 73 6f 2e 63 6f 6e 66 27 22 0a 20 20  /ld.so.conf'".  
287e0 20 20 66 69 0a 20 20 20 20 24 65 63 68 6f 0a 20    fi.    $echo. 
287f0 20 20 20 24 65 63 68 6f 20 22 53 65 65 20 61 6e     $echo "See an
28800 79 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74  y operating syst
28810 65 6d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  em documentation
28820 20 61 62 6f 75 74 20 73 68 61 72 65 64 20 6c 69   about shared li
28830 62 72 61 72 69 65 73 20 66 6f 72 22 0a 20 20 20  braries for".   
28840 20 24 65 63 68 6f 20 22 6d 6f 72 65 20 69 6e 66   $echo "more inf
28850 6f 72 6d 61 74 69 6f 6e 2c 20 73 75 63 68 20 61  ormation, such a
28860 73 20 74 68 65 20 6c 64 28 31 29 20 61 6e 64 20  s the ld(1) and 
28870 6c 64 2e 73 6f 28 38 29 20 6d 61 6e 75 61 6c 20  ld.so(8) manual 
28880 70 61 67 65 73 2e 22 0a 20 20 20 20 24 65 63 68  pages.".    $ech
28890 6f 20 22 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  o "-------------
288a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
288b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
288c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
288d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0a 20 20 20 20 65  ---------".    e
288e0 78 69 74 20 30 0a 20 20 20 20 3b 3b 0a 0a 20 20  xit 0.    ;;..  
288f0 23 20 6c 69 62 74 6f 6f 6c 20 65 78 65 63 75 74  # libtool execut
28900 65 20 6d 6f 64 65 0a 20 20 65 78 65 63 75 74 65  e mode.  execute
28910 29 0a 20 20 20 20 6d 6f 64 65 6e 61 6d 65 3d 22  ).    modename="
28920 24 6d 6f 64 65 6e 61 6d 65 3a 20 65 78 65 63 75  $modename: execu
28930 74 65 22 0a 0a 20 20 20 20 23 20 54 68 65 20 66  te"..    # The f
28940 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73  irst argument is
28950 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d   the command nam
28960 65 2e 0a 20 20 20 20 63 6d 64 3d 22 24 6e 6f 6e  e..    cmd="$non
28970 6f 70 74 22 0a 20 20 20 20 69 66 20 74 65 73 74  opt".    if test
28980 20 2d 7a 20 22 24 63 6d 64 22 3b 20 74 68 65 6e   -z "$cmd"; then
28990 0a 20 20 20 20 20 20 24 65 63 68 6f 20 22 24 6d  .      $echo "$m
289a0 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73  odename: you mus
289b0 74 20 73 70 65 63 69 66 79 20 61 20 43 4f 4d 4d  t specify a COMM
289c0 41 4e 44 22 20 31 3e 26 32 0a 20 20 20 20 20 20  AND" 1>&2.      
289d0 24 65 63 68 6f 20 22 24 68 65 6c 70 22 0a 20 20  $echo "$help".  
289e0 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66      exit 1.    f
289f0 69 0a 0a 20 20 20 20 23 20 48 61 6e 64 6c 65 20  i..    # Handle 
28a00 2d 64 6c 6f 70 65 6e 20 66 6c 61 67 73 20 69 6d  -dlopen flags im
28a10 6d 65 64 69 61 74 65 6c 79 2e 0a 20 20 20 20 66  mediately..    f
28a20 6f 72 20 66 69 6c 65 20 69 6e 20 24 65 78 65 63  or file in $exec
28a30 75 74 65 5f 64 6c 66 69 6c 65 73 3b 20 64 6f 0a  ute_dlfiles; do.
28a40 20 20 20 20 20 20 69 66 20 74 65 73 74 20 21 20        if test ! 
28a50 2d 66 20 22 24 66 69 6c 65 22 3b 20 74 68 65 6e  -f "$file"; then
28a60 0a 09 24 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61  ..$echo "$modena
28a70 6d 65 3a 20 5c 60 24 66 69 6c 65 27 20 69 73 20  me: \`$file' is 
28a80 6e 6f 74 20 61 20 66 69 6c 65 22 20 31 3e 26 32  not a file" 1>&2
28a90 0a 09 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20  ..$echo "$help" 
28aa0 31 3e 26 32 0a 09 65 78 69 74 20 31 0a 20 20 20  1>&2..exit 1.   
28ab0 20 20 20 66 69 0a 0a 20 20 20 20 20 20 64 69 72     fi..      dir
28ac0 3d 0a 20 20 20 20 20 20 63 61 73 65 20 24 66 69  =.      case $fi
28ad0 6c 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e 6c 61  le in.      *.la
28ae0 29 0a 09 23 20 43 68 65 63 6b 20 74 6f 20 73 65  )..# Check to se
28af0 65 20 74 68 61 74 20 74 68 69 73 20 72 65 61 6c  e that this real
28b00 6c 79 20 69 73 20 61 20 6c 69 62 74 6f 6f 6c 20  ly is a libtool 
28b10 61 72 63 68 69 76 65 2e 0a 09 69 66 20 28 24 7b  archive...if (${
28b20 53 45 44 7d 20 2d 65 20 27 32 71 27 20 24 66 69  SED} -e '2q' $fi
28b30 6c 65 20 7c 20 67 72 65 70 20 22 5e 23 20 47 65  le | grep "^# Ge
28b40 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41  nerated by .*$PA
28b50 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75  CKAGE") >/dev/nu
28b60 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 20 3a 0a  ll 2>&1; then :.
28b70 09 65 6c 73 65 0a 09 20 20 24 65 63 68 6f 20 22  .else..  $echo "
28b80 24 6d 6f 64 65 6e 61 6d 65 3a 20 5c 60 24 6c 69  $modename: \`$li
28b90 62 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69  b' is not a vali
28ba0 64 20 6c 69 62 74 6f 6f 6c 20 61 72 63 68 69 76  d libtool archiv
28bb0 65 22 20 31 3e 26 32 0a 09 20 20 24 65 63 68 6f  e" 1>&2..  $echo
28bc0 20 22 24 68 65 6c 70 22 20 31 3e 26 32 0a 09 20   "$help" 1>&2.. 
28bd0 20 65 78 69 74 20 31 0a 09 66 69 0a 0a 09 23 20   exit 1..fi...# 
28be0 52 65 61 64 20 74 68 65 20 6c 69 62 74 6f 6f 6c  Read the libtool
28bf0 20 6c 69 62 72 61 72 79 2e 0a 09 64 6c 6e 61 6d   library...dlnam
28c00 65 3d 0a 09 6c 69 62 72 61 72 79 5f 6e 61 6d 65  e=..library_name
28c10 73 3d 0a 0a 09 23 20 49 66 20 74 68 65 72 65 20  s=...# If there 
28c20 69 73 20 6e 6f 20 64 69 72 65 63 74 6f 72 79 20  is no directory 
28c30 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74 68 65 6e 20  component, then 
28c40 61 64 64 20 6f 6e 65 2e 0a 09 63 61 73 65 20 24  add one...case $
28c50 66 69 6c 65 20 69 6e 0a 09 2a 2f 2a 20 7c 20 2a  file in..*/* | *
28c60 5c 5c 2a 29 20 2e 20 24 66 69 6c 65 20 3b 3b 0a  \\*) . $file ;;.
28c70 09 2a 29 20 2e 20 2e 2f 24 66 69 6c 65 20 3b 3b  .*) . ./$file ;;
28c80 0a 09 65 73 61 63 0a 0a 09 23 20 53 6b 69 70 20  ..esac...# Skip 
28c90 74 68 69 73 20 6c 69 62 72 61 72 79 20 69 66 20  this library if 
28ca0 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 6c 6f  it cannot be dlo
28cb0 70 65 6e 65 64 2e 0a 09 69 66 20 74 65 73 74 20  pened...if test 
28cc0 2d 7a 20 22 24 64 6c 6e 61 6d 65 22 3b 20 74 68  -z "$dlname"; th
28cd0 65 6e 0a 09 20 20 23 20 57 61 72 6e 20 69 66 20  en..  # Warn if 
28ce0 69 74 20 77 61 73 20 61 20 73 68 61 72 65 64 20  it was a shared 
28cf0 6c 69 62 72 61 72 79 2e 0a 09 20 20 74 65 73 74  library...  test
28d00 20 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f 6e 61   -n "$library_na
28d10 6d 65 73 22 20 26 26 20 24 65 63 68 6f 20 22 24  mes" && $echo "$
28d20 6d 6f 64 65 6e 61 6d 65 3a 20 77 61 72 6e 69 6e  modename: warnin
28d30 67 3a 20 5c 60 24 66 69 6c 65 27 20 77 61 73 20  g: \`$file' was 
28d40 6e 6f 74 20 6c 69 6e 6b 65 64 20 77 69 74 68 20  not linked with 
28d50 5c 60 2d 65 78 70 6f 72 74 2d 64 79 6e 61 6d 69  \`-export-dynami
28d60 63 27 22 0a 09 20 20 63 6f 6e 74 69 6e 75 65 0a  c'"..  continue.
28d70 09 66 69 0a 0a 09 64 69 72 3d 60 24 65 63 68 6f  .fi...dir=`$echo
28d80 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58 73 65   "X$file" | $Xse
28d90 64 20 2d 65 20 27 73 25 2f 5b 5e 2f 5d 2a 24 25  d -e 's%/[^/]*$%
28da0 25 27 60 0a 09 74 65 73 74 20 22 58 24 64 69 72  %'`..test "X$dir
28db0 22 20 3d 20 22 58 24 66 69 6c 65 22 20 26 26 20  " = "X$file" && 
28dc0 64 69 72 3d 2e 0a 0a 09 69 66 20 74 65 73 74 20  dir=....if test 
28dd0 2d 66 20 22 24 64 69 72 2f 24 6f 62 6a 64 69 72  -f "$dir/$objdir
28de0 2f 24 64 6c 6e 61 6d 65 22 3b 20 74 68 65 6e 0a  /$dlname"; then.
28df0 09 20 20 64 69 72 3d 22 24 64 69 72 2f 24 6f 62  .  dir="$dir/$ob
28e00 6a 64 69 72 22 0a 09 65 6c 73 65 0a 09 20 20 24  jdir"..else..  $
28e10 65 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a  echo "$modename:
28e20 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 5c 60 24   cannot find \`$
28e30 64 6c 6e 61 6d 65 27 20 69 6e 20 5c 60 24 64 69  dlname' in \`$di
28e40 72 27 20 6f 72 20 5c 60 24 64 69 72 2f 24 6f 62  r' or \`$dir/$ob
28e50 6a 64 69 72 27 22 20 31 3e 26 32 0a 09 20 20 65  jdir'" 1>&2..  e
28e60 78 69 74 20 31 0a 09 66 69 0a 09 3b 3b 0a 0a 20  xit 1..fi..;;.. 
28e70 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23 20 4a 75       *.lo)..# Ju
28e80 73 74 20 61 64 64 20 74 68 65 20 64 69 72 65 63  st add the direc
28e90 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20  tory containing 
28ea0 74 68 65 20 2e 6c 6f 20 66 69 6c 65 2e 0a 09 64  the .lo file...d
28eb0 69 72 3d 60 24 65 63 68 6f 20 22 58 24 66 69 6c  ir=`$echo "X$fil
28ec0 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27 73  e" | $Xsed -e 's
28ed0 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 09 74 65  %/[^/]*$%%'`..te
28ee0 73 74 20 22 58 24 64 69 72 22 20 3d 20 22 58 24  st "X$dir" = "X$
28ef0 66 69 6c 65 22 20 26 26 20 64 69 72 3d 2e 0a 09  file" && dir=...
28f00 3b 3b 0a 0a 20 20 20 20 20 20 2a 29 0a 09 24 65  ;;..      *)..$e
28f10 63 68 6f 20 22 24 6d 6f 64 65 6e 61 6d 65 3a 20  cho "$modename: 
28f20 77 61 72 6e 69 6e 67 20 5c 60 2d 64 6c 6f 70 65  warning \`-dlope
28f30 6e 27 20 69 73 20 69 67 6e 6f 72 65 64 20 66 6f  n' is ignored fo
28f40 72 20 6e 6f 6e 2d 6c 69 62 74 6f 6f 6c 20 6c 69  r non-libtool li
28f50 62 72 61 72 69 65 73 20 61 6e 64 20 6f 62 6a 65  braries and obje
28f60 63 74 73 22 20 31 3e 26 32 0a 09 63 6f 6e 74 69  cts" 1>&2..conti
28f70 6e 75 65 0a 09 3b 3b 0a 20 20 20 20 20 20 65 73  nue..;;.      es
28f80 61 63 0a 0a 20 20 20 20 20 20 23 20 47 65 74 20  ac..      # Get 
28f90 74 68 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74  the absolute pat
28fa0 68 6e 61 6d 65 2e 0a 20 20 20 20 20 20 61 62 73  hname..      abs
28fb0 64 69 72 3d 60 63 64 20 22 24 64 69 72 22 20 26  dir=`cd "$dir" &
28fc0 26 20 70 77 64 60 0a 20 20 20 20 20 20 74 65 73  & pwd`.      tes
28fd0 74 20 2d 6e 20 22 24 61 62 73 64 69 72 22 20 26  t -n "$absdir" &
28fe0 26 20 64 69 72 3d 22 24 61 62 73 64 69 72 22 0a  & dir="$absdir".
28ff0 0a 20 20 20 20 20 20 23 20 4e 6f 77 20 61 64 64  .      # Now add
29000 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 74   the directory t
29010 6f 20 73 68 6c 69 62 70 61 74 68 5f 76 61 72 2e  o shlibpath_var.
29020 0a 20 20 20 20 20 20 69 66 20 65 76 61 6c 20 22  .      if eval "
29030 74 65 73 74 20 2d 7a 20 5c 22 5c 24 24 73 68 6c  test -z \"\$$shl
29040 69 62 70 61 74 68 5f 76 61 72 5c 22 22 3b 20 74  ibpath_var\""; t
29050 68 65 6e 0a 09 65 76 61 6c 20 22 24 73 68 6c 69  hen..eval "$shli
29060 62 70 61 74 68 5f 76 61 72 3d 5c 22 5c 24 64 69  bpath_var=\"\$di
29070 72 5c 22 22 0a 20 20 20 20 20 20 65 6c 73 65 0a  r\"".      else.
29080 09 65 76 61 6c 20 22 24 73 68 6c 69 62 70 61 74  .eval "$shlibpat
29090 68 5f 76 61 72 3d 5c 22 5c 24 64 69 72 3a 5c 24  h_var=\"\$dir:\$
290a0 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72 5c 22  $shlibpath_var\"
290b0 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20 20 64  ".      fi.    d
290c0 6f 6e 65 0a 0a 20 20 20 20 23 20 54 68 69 73 20  one..    # This 
290d0 76 61 72 69 61 62 6c 65 20 74 65 6c 6c 73 20 77  variable tells w
290e0 72 61 70 70 65 72 20 73 63 72 69 70 74 73 20 6a  rapper scripts j
290f0 75 73 74 20 74 6f 20 73 65 74 20 73 68 6c 69 62  ust to set shlib
29100 70 61 74 68 5f 76 61 72 0a 20 20 20 20 23 20 72  path_var.    # r
29110 61 74 68 65 72 20 74 68 61 6e 20 72 75 6e 6e 69  ather than runni
29120 6e 67 20 74 68 65 69 72 20 70 72 6f 67 72 61 6d  ng their program
29130 73 2e 0a 20 20 20 20 6c 69 62 74 6f 6f 6c 5f 65  s..    libtool_e
29140 78 65 63 75 74 65 5f 6d 61 67 69 63 3d 22 24 6d  xecute_magic="$m
29150 61 67 69 63 22 0a 0a 20 20 20 20 23 20 43 68 65  agic"..    # Che
29160 63 6b 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65  ck if any of the
29170 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 61 20   arguments is a 
29180 77 72 61 70 70 65 72 20 73 63 72 69 70 74 2e 0a  wrapper script..
29190 20 20 20 20 61 72 67 73 3d 0a 20 20 20 20 66 6f      args=.    fo
291a0 72 20 66 69 6c 65 0a 20 20 20 20 64 6f 0a 20 20  r file.    do.  
291b0 20 20 20 20 63 61 73 65 20 24 66 69 6c 65 20 69      case $file i
291c0 6e 0a 20 20 20 20 20 20 2d 2a 29 20 3b 3b 0a 20  n.      -*) ;;. 
291d0 20 20 20 20 20 2a 29 0a 09 23 20 44 6f 20 61 20       *)..# Do a 
291e0 74 65 73 74 20 74 6f 20 73 65 65 20 69 66 20 74  test to see if t
291f0 68 69 73 20 69 73 20 72 65 61 6c 6c 79 20 61 20  his is really a 
29200 6c 69 62 74 6f 6f 6c 20 70 72 6f 67 72 61 6d 2e  libtool program.
29210 0a 09 69 66 20 28 24 7b 53 45 44 7d 20 2d 65 20  ..if (${SED} -e 
29220 27 34 71 27 20 24 66 69 6c 65 20 7c 20 67 72 65  '4q' $file | gre
29230 70 20 22 5e 23 20 47 65 6e 65 72 61 74 65 64 20  p "^# Generated 
29240 62 79 20 2e 2a 24 50 41 43 4b 41 47 45 22 29 20  by .*$PACKAGE") 
29250 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b  >/dev/null 2>&1;
29260 20 74 68 65 6e 0a 09 20 20 23 20 49 66 20 74 68   then..  # If th
29270 65 72 65 20 69 73 20 6e 6f 20 64 69 72 65 63 74  ere is no direct
29280 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 2c 20 74  ory component, t
29290 68 65 6e 20 61 64 64 20 6f 6e 65 2e 0a 09 20 20  hen add one...  
292a0 63 61 73 65 20 24 66 69 6c 65 20 69 6e 0a 09 20  case $file in.. 
292b0 20 2a 2f 2a 20 7c 20 2a 5c 5c 2a 29 20 2e 20 24   */* | *\\*) . $
292c0 66 69 6c 65 20 3b 3b 0a 09 20 20 2a 29 20 2e 20  file ;;..  *) . 
292d0 2e 2f 24 66 69 6c 65 20 3b 3b 0a 09 20 20 65 73  ./$file ;;..  es
292e0 61 63 0a 0a 09 20 20 23 20 54 72 61 6e 73 66 6f  ac...  # Transfo
292f0 72 6d 20 61 72 67 20 74 6f 20 77 72 61 70 70 65  rm arg to wrappe
29300 64 20 6e 61 6d 65 2e 0a 09 20 20 66 69 6c 65 3d  d name...  file=
29310 22 24 70 72 6f 67 64 69 72 2f 24 70 72 6f 67 72  "$progdir/$progr
29320 61 6d 22 0a 09 66 69 0a 09 3b 3b 0a 20 20 20 20  am"..fi..;;.    
29330 20 20 65 73 61 63 0a 20 20 20 20 20 20 23 20 51    esac.      # Q
29340 75 6f 74 65 20 61 72 67 75 6d 65 6e 74 73 20 28  uote arguments (
29350 74 6f 20 70 72 65 73 65 72 76 65 20 73 68 65 6c  to preserve shel
29360 6c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73  l metacharacters
29370 29 2e 0a 20 20 20 20 20 20 66 69 6c 65 3d 60 24  )..      file=`$
29380 65 63 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20  echo "X$file" | 
29390 24 58 73 65 64 20 2d 65 20 22 24 73 65 64 5f 71  $Xsed -e "$sed_q
293a0 75 6f 74 65 5f 73 75 62 73 74 22 60 0a 20 20 20  uote_subst"`.   
293b0 20 20 20 61 72 67 73 3d 22 24 61 72 67 73 20 5c     args="$args \
293c0 22 24 66 69 6c 65 5c 22 22 0a 20 20 20 20 64 6f  "$file\"".    do
293d0 6e 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20  ne..    if test 
293e0 2d 7a 20 22 24 72 75 6e 22 3b 20 74 68 65 6e 0a  -z "$run"; then.
293f0 20 20 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e        if test -n
29400 20 22 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72   "$shlibpath_var
29410 22 3b 20 74 68 65 6e 0a 09 23 20 45 78 70 6f 72  "; then..# Expor
29420 74 20 74 68 65 20 73 68 6c 69 62 70 61 74 68 5f  t the shlibpath_
29430 76 61 72 2e 0a 09 65 76 61 6c 20 22 65 78 70 6f  var...eval "expo
29440 72 74 20 24 73 68 6c 69 62 70 61 74 68 5f 76 61  rt $shlibpath_va
29450 72 22 0a 20 20 20 20 20 20 66 69 0a 0a 20 20 20  r".      fi..   
29460 20 20 20 23 20 52 65 73 74 6f 72 65 20 73 61 76     # Restore sav
29470 65 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  ed environment v
29480 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 20 69  ariables.      i
29490 66 20 74 65 73 74 20 22 24 7b 73 61 76 65 5f 4c  f test "${save_L
294a0 43 5f 41 4c 4c 2b 73 65 74 7d 22 20 3d 20 73 65  C_ALL+set}" = se
294b0 74 3b 20 74 68 65 6e 0a 09 4c 43 5f 41 4c 4c 3d  t; then..LC_ALL=
294c0 22 24 73 61 76 65 5f 4c 43 5f 41 4c 4c 22 3b 20  "$save_LC_ALL"; 
294d0 65 78 70 6f 72 74 20 4c 43 5f 41 4c 4c 0a 20 20  export LC_ALL.  
294e0 20 20 20 20 66 69 0a 20 20 20 20 20 20 69 66 20      fi.      if 
294f0 74 65 73 74 20 22 24 7b 73 61 76 65 5f 4c 41 4e  test "${save_LAN
29500 47 2b 73 65 74 7d 22 20 3d 20 73 65 74 3b 20 74  G+set}" = set; t
29510 68 65 6e 0a 09 4c 41 4e 47 3d 22 24 73 61 76 65  hen..LANG="$save
29520 5f 4c 41 4e 47 22 3b 20 65 78 70 6f 72 74 20 4c  _LANG"; export L
29530 41 4e 47 0a 20 20 20 20 20 20 66 69 0a 0a 20 20  ANG.      fi..  
29540 20 20 20 20 23 20 4e 6f 77 20 70 72 65 70 61 72      # Now prepar
29550 65 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 65 78  e to actually ex
29560 65 63 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a  ec the command..
29570 20 20 20 20 20 20 65 78 65 63 5f 63 6d 64 3d 22        exec_cmd="
29580 5c 24 63 6d 64 24 61 72 67 73 22 0a 20 20 20 20  \$cmd$args".    
29590 65 6c 73 65 0a 20 20 20 20 20 20 23 20 44 69 73  else.      # Dis
295a0 70 6c 61 79 20 77 68 61 74 20 77 6f 75 6c 64 20  play what would 
295b0 62 65 20 64 6f 6e 65 2e 0a 20 20 20 20 20 20 69  be done..      i
295c0 66 20 74 65 73 74 20 2d 6e 20 22 24 73 68 6c 69  f test -n "$shli
295d0 62 70 61 74 68 5f 76 61 72 22 3b 20 74 68 65 6e  bpath_var"; then
295e0 0a 09 65 76 61 6c 20 22 5c 24 65 63 68 6f 20 5c  ..eval "\$echo \
295f0 22 5c 24 73 68 6c 69 62 70 61 74 68 5f 76 61 72  "\$shlibpath_var
29600 3d 5c 24 24 73 68 6c 69 62 70 61 74 68 5f 76 61  =\$$shlibpath_va
29610 72 5c 22 22 0a 09 24 65 63 68 6f 20 22 65 78 70  r\""..$echo "exp
29620 6f 72 74 20 24 73 68 6c 69 62 70 61 74 68 5f 76  ort $shlibpath_v
29630 61 72 22 0a 20 20 20 20 20 20 66 69 0a 20 20 20  ar".      fi.   
29640 20 20 20 24 65 63 68 6f 20 22 24 63 6d 64 24 61     $echo "$cmd$a
29650 72 67 73 22 0a 20 20 20 20 20 20 65 78 69 74 20  rgs".      exit 
29660 30 0a 20 20 20 20 66 69 0a 20 20 20 20 3b 3b 0a  0.    fi.    ;;.
29670 0a 20 20 23 20 6c 69 62 74 6f 6f 6c 20 63 6c 65  .  # libtool cle
29680 61 6e 20 61 6e 64 20 75 6e 69 6e 73 74 61 6c 6c  an and uninstall
29690 20 6d 6f 64 65 0a 20 20 63 6c 65 61 6e 20 7c 20   mode.  clean | 
296a0 75 6e 69 6e 73 74 61 6c 6c 29 0a 20 20 20 20 6d  uninstall).    m
296b0 6f 64 65 6e 61 6d 65 3d 22 24 6d 6f 64 65 6e 61  odename="$modena
296c0 6d 65 3a 20 24 6d 6f 64 65 22 0a 20 20 20 20 72  me: $mode".    r
296d0 6d 3d 22 24 6e 6f 6e 6f 70 74 22 0a 20 20 20 20  m="$nonopt".    
296e0 66 69 6c 65 73 3d 0a 20 20 20 20 72 6d 66 6f 72  files=.    rmfor
296f0 63 65 3d 0a 20 20 20 20 65 78 69 74 5f 73 74 61  ce=.    exit_sta
29700 74 75 73 3d 30 0a 0a 20 20 20 20 23 20 54 68 69  tus=0..    # Thi
29710 73 20 76 61 72 69 61 62 6c 65 20 74 65 6c 6c 73  s variable tells
29720 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 73   wrapper scripts
29730 20 6a 75 73 74 20 74 6f 20 73 65 74 20 76 61 72   just to set var
29740 69 61 62 6c 65 73 20 72 61 74 68 65 72 0a 20 20  iables rather.  
29750 20 20 23 20 74 68 61 6e 20 72 75 6e 6e 69 6e 67    # than running
29760 20 74 68 65 69 72 20 70 72 6f 67 72 61 6d 73 2e   their programs.
29770 0a 20 20 20 20 6c 69 62 74 6f 6f 6c 5f 69 6e 73  .    libtool_ins
29780 74 61 6c 6c 5f 6d 61 67 69 63 3d 22 24 6d 61 67  tall_magic="$mag
29790 69 63 22 0a 0a 20 20 20 20 66 6f 72 20 61 72 67  ic"..    for arg
297a0 0a 20 20 20 20 64 6f 0a 20 20 20 20 20 20 63 61  .    do.      ca
297b0 73 65 20 24 61 72 67 20 69 6e 0a 20 20 20 20 20  se $arg in.     
297c0 20 2d 66 29 20 72 6d 3d 22 24 72 6d 20 24 61 72   -f) rm="$rm $ar
297d0 67 22 3b 20 72 6d 66 6f 72 63 65 3d 79 65 73 20  g"; rmforce=yes 
297e0 3b 3b 0a 20 20 20 20 20 20 2d 2a 29 20 72 6d 3d  ;;.      -*) rm=
297f0 22 24 72 6d 20 24 61 72 67 22 20 3b 3b 0a 20 20  "$rm $arg" ;;.  
29800 20 20 20 20 2a 29 20 66 69 6c 65 73 3d 22 24 66      *) files="$f
29810 69 6c 65 73 20 24 61 72 67 22 20 3b 3b 0a 20 20  iles $arg" ;;.  
29820 20 20 20 20 65 73 61 63 0a 20 20 20 20 64 6f 6e      esac.    don
29830 65 0a 0a 20 20 20 20 69 66 20 74 65 73 74 20 2d  e..    if test -
29840 7a 20 22 24 72 6d 22 3b 20 74 68 65 6e 0a 20 20  z "$rm"; then.  
29850 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
29860 6e 61 6d 65 3a 20 79 6f 75 20 6d 75 73 74 20 73  name: you must s
29870 70 65 63 69 66 79 20 61 6e 20 52 4d 20 70 72 6f  pecify an RM pro
29880 67 72 61 6d 22 20 31 3e 26 32 0a 20 20 20 20 20  gram" 1>&2.     
29890 20 24 65 63 68 6f 20 22 24 68 65 6c 70 22 20 31   $echo "$help" 1
298a0 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74 20 31  >&2.      exit 1
298b0 0a 20 20 20 20 66 69 0a 0a 20 20 20 20 72 6d 64  .    fi..    rmd
298c0 69 72 73 3d 0a 0a 20 20 20 20 6f 72 69 67 6f 62  irs=..    origob
298d0 6a 64 69 72 3d 22 24 6f 62 6a 64 69 72 22 0a 20  jdir="$objdir". 
298e0 20 20 20 66 6f 72 20 66 69 6c 65 20 69 6e 20 24     for file in $
298f0 66 69 6c 65 73 3b 20 64 6f 0a 20 20 20 20 20 20  files; do.      
29900 64 69 72 3d 60 24 65 63 68 6f 20 22 58 24 66 69  dir=`$echo "X$fi
29910 6c 65 22 20 7c 20 24 58 73 65 64 20 2d 65 20 27  le" | $Xsed -e '
29920 73 25 2f 5b 5e 2f 5d 2a 24 25 25 27 60 0a 20 20  s%/[^/]*$%%'`.  
29930 20 20 20 20 69 66 20 74 65 73 74 20 22 58 24 64      if test "X$d
29940 69 72 22 20 3d 20 22 58 24 66 69 6c 65 22 3b 20  ir" = "X$file"; 
29950 74 68 65 6e 0a 09 64 69 72 3d 2e 0a 09 6f 62 6a  then..dir=...obj
29960 64 69 72 3d 22 24 6f 72 69 67 6f 62 6a 64 69 72  dir="$origobjdir
29970 22 0a 20 20 20 20 20 20 65 6c 73 65 0a 09 6f 62  ".      else..ob
29980 6a 64 69 72 3d 22 24 64 69 72 2f 24 6f 72 69 67  jdir="$dir/$orig
29990 6f 62 6a 64 69 72 22 0a 20 20 20 20 20 20 66 69  objdir".      fi
299a0 0a 20 20 20 20 20 20 6e 61 6d 65 3d 60 24 65 63  .      name=`$ec
299b0 68 6f 20 22 58 24 66 69 6c 65 22 20 7c 20 24 58  ho "X$file" | $X
299c0 73 65 64 20 2d 65 20 27 73 25 5e 2e 2a 2f 25 25  sed -e 's%^.*/%%
299d0 27 60 0a 20 20 20 20 20 20 74 65 73 74 20 22 24  '`.      test "$
299e0 6d 6f 64 65 22 20 3d 20 75 6e 69 6e 73 74 61 6c  mode" = uninstal
299f0 6c 20 26 26 20 6f 62 6a 64 69 72 3d 22 24 64 69  l && objdir="$di
29a00 72 22 0a 0a 20 20 20 20 20 20 23 20 52 65 6d 65  r"..      # Reme
29a10 6d 62 65 72 20 6f 62 6a 64 69 72 20 66 6f 72 20  mber objdir for 
29a20 72 65 6d 6f 76 61 6c 20 6c 61 74 65 72 2c 20 62  removal later, b
29a30 65 69 6e 67 20 63 61 72 65 66 75 6c 20 74 6f 20  eing careful to 
29a40 61 76 6f 69 64 20 64 75 70 6c 69 63 61 74 65 73  avoid duplicates
29a50 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 22  .      if test "
29a60 24 6d 6f 64 65 22 20 3d 20 63 6c 65 61 6e 3b 20  $mode" = clean; 
29a70 74 68 65 6e 0a 09 63 61 73 65 20 22 20 24 72 6d  then..case " $rm
29a80 64 69 72 73 20 22 20 69 6e 0a 09 20 20 2a 22 20  dirs " in..  *" 
29a90 24 6f 62 6a 64 69 72 20 22 2a 29 20 3b 3b 0a 09  $objdir "*) ;;..
29aa0 20 20 2a 29 20 72 6d 64 69 72 73 3d 22 24 72 6d    *) rmdirs="$rm
29ab0 64 69 72 73 20 24 6f 62 6a 64 69 72 22 20 3b 3b  dirs $objdir" ;;
29ac0 0a 09 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a  ..esac.      fi.
29ad0 0a 20 20 20 20 20 20 23 20 44 6f 6e 27 74 20 65  .      # Don't e
29ae0 72 72 6f 72 20 69 66 20 74 68 65 20 66 69 6c 65  rror if the file
29af0 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 61   doesn't exist a
29b00 6e 64 20 72 6d 20 2d 66 20 77 61 73 20 75 73 65  nd rm -f was use
29b10 64 2e 0a 20 20 20 20 20 20 69 66 20 28 74 65 73  d..      if (tes
29b20 74 20 2d 4c 20 22 24 66 69 6c 65 22 29 20 3e 2f  t -L "$file") >/
29b30 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 5c 0a  dev/null 2>&1 \.
29b40 09 7c 7c 20 28 74 65 73 74 20 2d 68 20 22 24 66  .|| (test -h "$f
29b50 69 6c 65 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c  ile") >/dev/null
29b60 20 32 3e 26 31 20 5c 0a 09 7c 7c 20 74 65 73 74   2>&1 \..|| test
29b70 20 2d 66 20 22 24 66 69 6c 65 22 3b 20 74 68 65   -f "$file"; the
29b80 6e 0a 09 3a 0a 20 20 20 20 20 20 65 6c 69 66 20  n..:.      elif 
29b90 74 65 73 74 20 2d 64 20 22 24 66 69 6c 65 22 3b  test -d "$file";
29ba0 20 74 68 65 6e 0a 09 65 78 69 74 5f 73 74 61 74   then..exit_stat
29bb0 75 73 3d 31 0a 09 63 6f 6e 74 69 6e 75 65 0a 20  us=1..continue. 
29bc0 20 20 20 20 20 65 6c 69 66 20 74 65 73 74 20 22       elif test "
29bd0 24 72 6d 66 6f 72 63 65 22 20 3d 20 79 65 73 3b  $rmforce" = yes;
29be0 20 74 68 65 6e 0a 09 63 6f 6e 74 69 6e 75 65 0a   then..continue.
29bf0 20 20 20 20 20 20 66 69 0a 0a 20 20 20 20 20 20        fi..      
29c00 72 6d 66 69 6c 65 73 3d 22 24 66 69 6c 65 22 0a  rmfiles="$file".
29c10 0a 20 20 20 20 20 20 63 61 73 65 20 24 6e 61 6d  .      case $nam
29c20 65 20 69 6e 0a 20 20 20 20 20 20 2a 2e 6c 61 29  e in.      *.la)
29c30 0a 09 23 20 50 6f 73 73 69 62 6c 79 20 61 20 6c  ..# Possibly a l
29c40 69 62 74 6f 6f 6c 20 61 72 63 68 69 76 65 2c 20  ibtool archive, 
29c50 73 6f 20 76 65 72 69 66 79 20 69 74 2e 0a 09 69  so verify it...i
29c60 66 20 28 24 7b 53 45 44 7d 20 2d 65 20 27 32 71  f (${SED} -e '2q
29c70 27 20 24 66 69 6c 65 20 7c 20 67 72 65 70 20 22  ' $file | grep "
29c80 5e 23 20 47 65 6e 65 72 61 74 65 64 20 62 79 20  ^# Generated by 
29c90 2e 2a 24 50 41 43 4b 41 47 45 22 29 20 3e 2f 64  .*$PACKAGE") >/d
29ca0 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 3b 20 74 68  ev/null 2>&1; th
29cb0 65 6e 0a 09 20 20 2e 20 24 64 69 72 2f 24 6e 61  en..  . $dir/$na
29cc0 6d 65 0a 0a 09 20 20 23 20 44 65 6c 65 74 65 20  me...  # Delete 
29cd0 74 68 65 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72  the libtool libr
29ce0 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e  aries and symlin
29cf0 6b 73 2e 0a 09 20 20 66 6f 72 20 6e 20 69 6e 20  ks...  for n in 
29d00 24 6c 69 62 72 61 72 79 5f 6e 61 6d 65 73 3b 20  $library_names; 
29d10 64 6f 0a 09 20 20 20 20 72 6d 66 69 6c 65 73 3d  do..    rmfiles=
29d20 22 24 72 6d 66 69 6c 65 73 20 24 6f 62 6a 64 69  "$rmfiles $objdi
29d30 72 2f 24 6e 22 0a 09 20 20 64 6f 6e 65 0a 09 20  r/$n"..  done.. 
29d40 20 74 65 73 74 20 2d 6e 20 22 24 6f 6c 64 5f 6c   test -n "$old_l
29d50 69 62 72 61 72 79 22 20 26 26 20 72 6d 66 69 6c  ibrary" && rmfil
29d60 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f 62  es="$rmfiles $ob
29d70 6a 64 69 72 2f 24 6f 6c 64 5f 6c 69 62 72 61 72  jdir/$old_librar
29d80 79 22 0a 09 20 20 74 65 73 74 20 22 24 6d 6f 64  y"..  test "$mod
29d90 65 22 20 3d 20 63 6c 65 61 6e 20 26 26 20 72 6d  e" = clean && rm
29da0 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20  files="$rmfiles 
29db0 24 6f 62 6a 64 69 72 2f 24 6e 61 6d 65 20 24 6f  $objdir/$name $o
29dc0 62 6a 64 69 72 2f 24 7b 6e 61 6d 65 7d 69 22 0a  bjdir/${name}i".
29dd0 0a 09 20 20 69 66 20 74 65 73 74 20 22 24 6d 6f  ..  if test "$mo
29de0 64 65 22 20 3d 20 75 6e 69 6e 73 74 61 6c 6c 3b  de" = uninstall;
29df0 20 74 68 65 6e 0a 09 20 20 20 20 69 66 20 74 65   then..    if te
29e00 73 74 20 2d 6e 20 22 24 6c 69 62 72 61 72 79 5f  st -n "$library_
29e10 6e 61 6d 65 73 22 3b 20 74 68 65 6e 0a 09 20 20  names"; then..  
29e20 20 20 20 20 23 20 44 6f 20 65 61 63 68 20 63 6f      # Do each co
29e30 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 70 6f 73  mmand in the pos
29e40 74 75 6e 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61  tuninstall comma
29e50 6e 64 73 2e 0a 09 20 20 20 20 20 20 63 6d 64 73  nds...      cmds
29e60 3d 24 70 6f 73 74 75 6e 69 6e 73 74 61 6c 6c 5f  =$postuninstall_
29e70 63 6d 64 73 0a 09 20 20 20 20 20 20 73 61 76 65  cmds..      save
29e80 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46 53  _ifs="$IFS"; IFS
29e90 3d 27 7e 27 0a 09 20 20 20 20 20 20 66 6f 72 20  ='~'..      for 
29ea0 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64 6f  cmd in $cmds; do
29eb0 0a 09 09 49 46 53 3d 22 24 73 61 76 65 5f 69 66  ...IFS="$save_if
29ec0 73 22 0a 09 09 65 76 61 6c 20 63 6d 64 3d 5c 22  s"...eval cmd=\"
29ed0 24 63 6d 64 5c 22 0a 09 09 24 73 68 6f 77 20 22  $cmd\"...$show "
29ee0 24 63 6d 64 22 0a 09 09 24 72 75 6e 20 65 76 61  $cmd"...$run eva
29ef0 6c 20 22 24 63 6d 64 22 0a 09 09 69 66 20 74 65  l "$cmd"...if te
29f00 73 74 20 22 24 3f 22 20 2d 6e 65 20 30 20 26 26  st "$?" -ne 0 &&
29f10 20 74 65 73 74 20 22 24 72 6d 66 6f 72 63 65 22   test "$rmforce"
29f20 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09 09   != yes; then...
29f30 20 20 65 78 69 74 5f 73 74 61 74 75 73 3d 31 0a    exit_status=1.
29f40 09 09 66 69 0a 09 20 20 20 20 20 20 64 6f 6e 65  ..fi..      done
29f50 0a 09 20 20 20 20 20 20 49 46 53 3d 22 24 73 61  ..      IFS="$sa
29f60 76 65 5f 69 66 73 22 0a 09 20 20 20 20 66 69 0a  ve_ifs"..    fi.
29f70 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 2d 6e  ..    if test -n
29f80 20 22 24 6f 6c 64 5f 6c 69 62 72 61 72 79 22 3b   "$old_library";
29f90 20 74 68 65 6e 0a 09 20 20 20 20 20 20 23 20 44   then..      # D
29fa0 6f 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69  o each command i
29fb0 6e 20 74 68 65 20 6f 6c 64 5f 70 6f 73 74 75 6e  n the old_postun
29fc0 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73  install commands
29fd0 2e 0a 09 20 20 20 20 20 20 63 6d 64 73 3d 24 6f  ...      cmds=$o
29fe0 6c 64 5f 70 6f 73 74 75 6e 69 6e 73 74 61 6c 6c  ld_postuninstall
29ff0 5f 63 6d 64 73 0a 09 20 20 20 20 20 20 73 61 76  _cmds..      sav
2a000 65 5f 69 66 73 3d 22 24 49 46 53 22 3b 20 49 46  e_ifs="$IFS"; IF
2a010 53 3d 27 7e 27 0a 09 20 20 20 20 20 20 66 6f 72  S='~'..      for
2a020 20 63 6d 64 20 69 6e 20 24 63 6d 64 73 3b 20 64   cmd in $cmds; d
2a030 6f 0a 09 09 49 46 53 3d 22 24 73 61 76 65 5f 69  o...IFS="$save_i
2a040 66 73 22 0a 09 09 65 76 61 6c 20 63 6d 64 3d 5c  fs"...eval cmd=\
2a050 22 24 63 6d 64 5c 22 0a 09 09 24 73 68 6f 77 20  "$cmd\"...$show 
2a060 22 24 63 6d 64 22 0a 09 09 24 72 75 6e 20 65 76  "$cmd"...$run ev
2a070 61 6c 20 22 24 63 6d 64 22 0a 09 09 69 66 20 74  al "$cmd"...if t
2a080 65 73 74 20 22 24 3f 22 20 2d 6e 65 20 30 20 26  est "$?" -ne 0 &
2a090 26 20 74 65 73 74 20 22 24 72 6d 66 6f 72 63 65  & test "$rmforce
2a0a0 22 20 21 3d 20 79 65 73 3b 20 74 68 65 6e 0a 09  " != yes; then..
2a0b0 09 20 20 65 78 69 74 5f 73 74 61 74 75 73 3d 31  .  exit_status=1
2a0c0 0a 09 09 66 69 0a 09 20 20 20 20 20 20 64 6f 6e  ...fi..      don
2a0d0 65 0a 09 20 20 20 20 20 20 49 46 53 3d 22 24 73  e..      IFS="$s
2a0e0 61 76 65 5f 69 66 73 22 0a 09 20 20 20 20 66 69  ave_ifs"..    fi
2a0f0 0a 09 20 20 20 20 23 20 46 49 58 4d 45 3a 20 73  ..    # FIXME: s
2a100 68 6f 75 6c 64 20 72 65 69 6e 73 74 61 6c 6c 20  hould reinstall 
2a110 74 68 65 20 62 65 73 74 20 72 65 6d 61 69 6e 69  the best remaini
2a120 6e 67 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  ng shared librar
2a130 79 2e 0a 09 20 20 66 69 0a 09 66 69 0a 09 3b 3b  y...  fi..fi..;;
2a140 0a 0a 20 20 20 20 20 20 2a 2e 6c 6f 29 0a 09 23  ..      *.lo)..#
2a150 20 50 6f 73 73 69 62 6c 79 20 61 20 6c 69 62 74   Possibly a libt
2a160 6f 6f 6c 20 6f 62 6a 65 63 74 2c 20 73 6f 20 76  ool object, so v
2a170 65 72 69 66 79 20 69 74 2e 0a 09 69 66 20 28 24  erify it...if ($
2a180 7b 53 45 44 7d 20 2d 65 20 27 32 71 27 20 24 66  {SED} -e '2q' $f
2a190 69 6c 65 20 7c 20 67 72 65 70 20 22 5e 23 20 47  ile | grep "^# G
2a1a0 65 6e 65 72 61 74 65 64 20 62 79 20 2e 2a 24 50  enerated by .*$P
2a1b0 41 43 4b 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e  ACKAGE") >/dev/n
2a1c0 75 6c 6c 20 32 3e 26 31 3b 20 74 68 65 6e 0a 0a  ull 2>&1; then..
2a1d0 09 20 20 23 20 52 65 61 64 20 74 68 65 20 2e 6c  .  # Read the .l
2a1e0 6f 20 66 69 6c 65 0a 09 20 20 2e 20 24 64 69 72  o file..  . $dir
2a1f0 2f 24 6e 61 6d 65 0a 0a 09 20 20 23 20 41 64 64  /$name...  # Add
2a200 20 50 49 43 20 6f 62 6a 65 63 74 20 74 6f 20 74   PIC object to t
2a210 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73  he list of files
2a220 20 74 6f 20 72 65 6d 6f 76 65 2e 0a 09 20 20 69   to remove...  i
2a230 66 20 74 65 73 74 20 2d 6e 20 22 24 70 69 63 5f  f test -n "$pic_
2a240 6f 62 6a 65 63 74 22 20 5c 0a 09 20 20 20 20 20  object" \..     
2a250 26 26 20 74 65 73 74 20 22 24 70 69 63 5f 6f 62  && test "$pic_ob
2a260 6a 65 63 74 22 20 21 3d 20 6e 6f 6e 65 3b 20 74  ject" != none; t
2a270 68 65 6e 0a 09 20 20 20 20 72 6d 66 69 6c 65 73  hen..    rmfiles
2a280 3d 22 24 72 6d 66 69 6c 65 73 20 24 64 69 72 2f  ="$rmfiles $dir/
2a290 24 70 69 63 5f 6f 62 6a 65 63 74 22 0a 09 20 20  $pic_object"..  
2a2a0 66 69 0a 0a 09 20 20 23 20 41 64 64 20 6e 6f 6e  fi...  # Add non
2a2b0 2d 50 49 43 20 6f 62 6a 65 63 74 20 74 6f 20 74  -PIC object to t
2a2c0 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73  he list of files
2a2d0 20 74 6f 20 72 65 6d 6f 76 65 2e 0a 09 20 20 69   to remove...  i
2a2e0 66 20 74 65 73 74 20 2d 6e 20 22 24 6e 6f 6e 5f  f test -n "$non_
2a2f0 70 69 63 5f 6f 62 6a 65 63 74 22 20 5c 0a 09 20  pic_object" \.. 
2a300 20 20 20 20 26 26 20 74 65 73 74 20 22 24 6e 6f      && test "$no
2a310 6e 5f 70 69 63 5f 6f 62 6a 65 63 74 22 20 21 3d  n_pic_object" !=
2a320 20 6e 6f 6e 65 3b 20 74 68 65 6e 0a 09 20 20 20   none; then..   
2a330 20 72 6d 66 69 6c 65 73 3d 22 24 72 6d 66 69 6c   rmfiles="$rmfil
2a340 65 73 20 24 64 69 72 2f 24 6e 6f 6e 5f 70 69 63  es $dir/$non_pic
2a350 5f 6f 62 6a 65 63 74 22 0a 09 20 20 66 69 0a 09  _object"..  fi..
2a360 66 69 0a 09 3b 3b 0a 0a 20 20 20 20 20 20 2a 29  fi..;;..      *)
2a370 0a 09 69 66 20 74 65 73 74 20 22 24 6d 6f 64 65  ..if test "$mode
2a380 22 20 3d 20 63 6c 65 61 6e 20 3b 20 74 68 65 6e  " = clean ; then
2a390 0a 09 20 20 6e 6f 65 78 65 6e 61 6d 65 3d 24 6e  ..  noexename=$n
2a3a0 61 6d 65 0a 09 20 20 63 61 73 65 20 24 66 69 6c  ame..  case $fil
2a3b0 65 20 69 6e 0a 09 20 20 2a 2e 65 78 65 29 20 0a  e in..  *.exe) .
2a3c0 09 20 20 20 20 66 69 6c 65 3d 60 24 65 63 68 6f  .    file=`$echo
2a3d0 20 24 66 69 6c 65 7c 24 7b 53 45 44 7d 20 27 73   $file|${SED} 's
2a3e0 2c 2e 65 78 65 24 2c 2c 27 60 0a 09 20 20 20 20  ,.exe$,,'`..    
2a3f0 6e 6f 65 78 65 6e 61 6d 65 3d 60 24 65 63 68 6f  noexename=`$echo
2a400 20 24 6e 61 6d 65 7c 24 7b 53 45 44 7d 20 27 73   $name|${SED} 's
2a410 2c 2e 65 78 65 24 2c 2c 27 60 0a 09 20 20 20 20  ,.exe$,,'`..    
2a420 23 20 24 66 69 6c 65 20 77 69 74 68 20 2e 65 78  # $file with .ex
2a430 65 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65  e has already be
2a440 65 6e 20 61 64 64 65 64 20 74 6f 20 72 6d 66 69  en added to rmfi
2a450 6c 65 73 2c 0a 09 20 20 20 20 23 20 61 64 64 20  les,..    # add 
2a460 24 66 69 6c 65 20 77 69 74 68 6f 75 74 20 2e 65  $file without .e
2a470 78 65 0a 09 20 20 20 20 72 6d 66 69 6c 65 73 3d  xe..    rmfiles=
2a480 22 24 72 6d 66 69 6c 65 73 20 24 66 69 6c 65 22  "$rmfiles $file"
2a490 0a 09 20 20 20 20 3b 3b 0a 09 20 20 65 73 61 63  ..    ;;..  esac
2a4a0 0a 09 20 20 23 20 44 6f 20 61 20 74 65 73 74 20  ..  # Do a test 
2a4b0 74 6f 20 73 65 65 20 69 66 20 74 68 69 73 20 69  to see if this i
2a4c0 73 20 61 20 6c 69 62 74 6f 6f 6c 20 70 72 6f 67  s a libtool prog
2a4d0 72 61 6d 2e 0a 09 20 20 69 66 20 28 24 7b 53 45  ram...  if (${SE
2a4e0 44 7d 20 2d 65 20 27 34 71 27 20 24 66 69 6c 65  D} -e '4q' $file
2a4f0 20 7c 20 67 72 65 70 20 22 5e 23 20 47 65 6e 65   | grep "^# Gene
2a500 72 61 74 65 64 20 62 79 20 2e 2a 24 50 41 43 4b  rated by .*$PACK
2a510 41 47 45 22 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c  AGE") >/dev/null
2a520 20 32 3e 26 31 3b 20 74 68 65 6e 0a 09 20 20 20   2>&1; then..   
2a530 20 72 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d   relink_command=
2a540 0a 09 20 20 20 20 2e 20 24 64 69 72 2f 24 6e 6f  ..    . $dir/$no
2a550 65 78 65 6e 61 6d 65 0a 0a 09 20 20 20 20 23 20  exename...    # 
2a560 6e 6f 74 65 20 24 6e 61 6d 65 20 73 74 69 6c 6c  note $name still
2a570 20 63 6f 6e 74 61 69 6e 73 20 2e 65 78 65 20 69   contains .exe i
2a580 66 20 69 74 20 77 61 73 20 69 6e 20 24 66 69 6c  f it was in $fil
2a590 65 20 6f 72 69 67 69 6e 61 6c 6c 79 0a 09 20 20  e originally..  
2a5a0 20 20 23 20 61 73 20 64 6f 65 73 20 74 68 65 20    # as does the 
2a5b0 76 65 72 73 69 6f 6e 20 6f 66 20 24 66 69 6c 65  version of $file
2a5c0 20 74 68 61 74 20 77 61 73 20 61 64 64 65 64 20   that was added 
2a5d0 69 6e 74 6f 20 24 72 6d 66 69 6c 65 73 0a 09 20  into $rmfiles.. 
2a5e0 20 20 20 72 6d 66 69 6c 65 73 3d 22 24 72 6d 66     rmfiles="$rmf
2a5f0 69 6c 65 73 20 24 6f 62 6a 64 69 72 2f 24 6e 61  iles $objdir/$na
2a600 6d 65 20 24 6f 62 6a 64 69 72 2f 24 7b 6e 61 6d  me $objdir/${nam
2a610 65 7d 53 2e 24 7b 6f 62 6a 65 78 74 7d 22 0a 09  e}S.${objext}"..
2a620 20 20 20 20 69 66 20 74 65 73 74 20 22 24 66 61      if test "$fa
2a630 73 74 5f 69 6e 73 74 61 6c 6c 22 20 3d 20 79 65  st_install" = ye
2a640 73 20 26 26 20 74 65 73 74 20 2d 6e 20 22 24 72  s && test -n "$r
2a650 65 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 22 3b 20  elink_command"; 
2a660 74 68 65 6e 0a 09 20 20 20 20 20 20 72 6d 66 69  then..      rmfi
2a670 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24 6f  les="$rmfiles $o
2a680 62 6a 64 69 72 2f 6c 74 2d 24 6e 61 6d 65 22 0a  bjdir/lt-$name".
2a690 09 20 20 20 20 66 69 0a 09 20 20 20 20 69 66 20  .    fi..    if 
2a6a0 74 65 73 74 20 22 58 24 6e 6f 65 78 65 6e 61 6d  test "X$noexenam
2a6b0 65 22 20 21 3d 20 22 58 24 6e 61 6d 65 22 20 3b  e" != "X$name" ;
2a6c0 20 74 68 65 6e 0a 09 20 20 20 20 20 20 72 6d 66   then..      rmf
2a6d0 69 6c 65 73 3d 22 24 72 6d 66 69 6c 65 73 20 24  iles="$rmfiles $
2a6e0 6f 62 6a 64 69 72 2f 6c 74 2d 24 7b 6e 6f 65 78  objdir/lt-${noex
2a6f0 65 6e 61 6d 65 7d 2e 63 22 0a 09 20 20 20 20 66  ename}.c"..    f
2a700 69 0a 09 20 20 66 69 0a 09 66 69 0a 09 3b 3b 0a  i..  fi..fi..;;.
2a710 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 20        esac.     
2a720 20 24 73 68 6f 77 20 22 24 72 6d 20 24 72 6d 66   $show "$rm $rmf
2a730 69 6c 65 73 22 0a 20 20 20 20 20 20 24 72 75 6e  iles".      $run
2a740 20 24 72 6d 20 24 72 6d 66 69 6c 65 73 20 7c 7c   $rm $rmfiles ||
2a750 20 65 78 69 74 5f 73 74 61 74 75 73 3d 31 0a 20   exit_status=1. 
2a760 20 20 20 64 6f 6e 65 0a 20 20 20 20 6f 62 6a 64     done.    objd
2a770 69 72 3d 22 24 6f 72 69 67 6f 62 6a 64 69 72 22  ir="$origobjdir"
2a780 0a 0a 20 20 20 20 23 20 54 72 79 20 74 6f 20 72  ..    # Try to r
2a790 65 6d 6f 76 65 20 74 68 65 20 24 7b 6f 62 6a 64  emove the ${objd
2a7a0 69 72 7d 73 20 69 6e 20 74 68 65 20 64 69 72 65  ir}s in the dire
2a7b0 63 74 6f 72 69 65 73 20 77 68 65 72 65 20 77 65  ctories where we
2a7c0 20 64 65 6c 65 74 65 64 20 66 69 6c 65 73 0a 20   deleted files. 
2a7d0 20 20 20 66 6f 72 20 64 69 72 20 69 6e 20 24 72     for dir in $r
2a7e0 6d 64 69 72 73 3b 20 64 6f 0a 20 20 20 20 20 20  mdirs; do.      
2a7f0 69 66 20 74 65 73 74 20 2d 64 20 22 24 64 69 72  if test -d "$dir
2a800 22 3b 20 74 68 65 6e 0a 09 24 73 68 6f 77 20 22  "; then..$show "
2a810 72 6d 64 69 72 20 24 64 69 72 22 0a 09 24 72 75  rmdir $dir"..$ru
2a820 6e 20 72 6d 64 69 72 20 24 64 69 72 20 3e 2f 64  n rmdir $dir >/d
2a830 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 20 20 20  ev/null 2>&1.   
2a840 20 20 20 66 69 0a 20 20 20 20 64 6f 6e 65 0a 0a     fi.    done..
2a850 20 20 20 20 65 78 69 74 20 24 65 78 69 74 5f 73      exit $exit_s
2a860 74 61 74 75 73 0a 20 20 20 20 3b 3b 0a 0a 20 20  tatus.    ;;..  
2a870 22 22 29 0a 20 20 20 20 24 65 63 68 6f 20 22 24  "").    $echo "$
2a880 6d 6f 64 65 6e 61 6d 65 3a 20 79 6f 75 20 6d 75  modename: you mu
2a890 73 74 20 73 70 65 63 69 66 79 20 61 20 4d 4f 44  st specify a MOD
2a8a0 45 22 20 31 3e 26 32 0a 20 20 20 20 24 65 63 68  E" 1>&2.    $ech
2a8b0 6f 20 22 24 67 65 6e 65 72 69 63 5f 68 65 6c 70  o "$generic_help
2a8c0 22 20 31 3e 26 32 0a 20 20 20 20 65 78 69 74 20  " 1>&2.    exit 
2a8d0 31 0a 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a  1.    ;;.  esac.
2a8e0 0a 20 20 69 66 20 74 65 73 74 20 2d 7a 20 22 24  .  if test -z "$
2a8f0 65 78 65 63 5f 63 6d 64 22 3b 20 74 68 65 6e 0a  exec_cmd"; then.
2a900 20 20 20 20 24 65 63 68 6f 20 22 24 6d 6f 64 65      $echo "$mode
2a910 6e 61 6d 65 3a 20 69 6e 76 61 6c 69 64 20 6f 70  name: invalid op
2a920 65 72 61 74 69 6f 6e 20 6d 6f 64 65 20 5c 60 24  eration mode \`$
2a930 6d 6f 64 65 27 22 20 31 3e 26 32 0a 20 20 20 20  mode'" 1>&2.    
2a940 24 65 63 68 6f 20 22 24 67 65 6e 65 72 69 63 5f  $echo "$generic_
2a950 68 65 6c 70 22 20 31 3e 26 32 0a 20 20 20 20 65  help" 1>&2.    e
2a960 78 69 74 20 31 0a 20 20 66 69 0a 66 69 20 23 20  xit 1.  fi.fi # 
2a970 74 65 73 74 20 2d 7a 20 22 24 73 68 6f 77 5f 68  test -z "$show_h
2a980 65 6c 70 22 0a 0a 69 66 20 74 65 73 74 20 2d 6e  elp"..if test -n
2a990 20 22 24 65 78 65 63 5f 63 6d 64 22 3b 20 74 68   "$exec_cmd"; th
2a9a0 65 6e 0a 20 20 65 76 61 6c 20 65 78 65 63 20 24  en.  eval exec $
2a9b0 65 78 65 63 5f 63 6d 64 0a 20 20 65 78 69 74 20  exec_cmd.  exit 
2a9c0 31 0a 66 69 0a 0a 23 20 57 65 20 6e 65 65 64 20  1.fi..# We need 
2a9d0 74 6f 20 64 69 73 70 6c 61 79 20 68 65 6c 70 20  to display help 
2a9e0 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20  for each of the 
2a9f0 6d 6f 64 65 73 2e 0a 63 61 73 65 20 24 6d 6f 64  modes..case $mod
2aa00 65 20 69 6e 0a 22 22 29 20 24 65 63 68 6f 20 5c  e in."") $echo \
2aa10 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61  ."Usage: $modena
2aa20 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 5b  me [OPTION]... [
2aa30 4d 4f 44 45 2d 41 52 47 5d 2e 2e 2e 0a 0a 50 72  MODE-ARG].....Pr
2aa40 6f 76 69 64 65 20 67 65 6e 65 72 61 6c 69 7a 65  ovide generalize
2aa50 64 20 6c 69 62 72 61 72 79 2d 62 75 69 6c 64 69  d library-buildi
2aa60 6e 67 20 73 75 70 70 6f 72 74 20 73 65 72 76 69  ng support servi
2aa70 63 65 73 2e 0a 0a 20 20 20 20 2d 2d 63 6f 6e 66  ces...    --conf
2aa80 69 67 20 20 20 20 20 20 20 20 20 20 73 68 6f 77  ig          show
2aa90 20 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61 74 69   all configurati
2aaa0 6f 6e 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20  on variables.   
2aab0 20 2d 2d 64 65 62 75 67 20 20 20 20 20 20 20 20   --debug        
2aac0 20 20 20 65 6e 61 62 6c 65 20 76 65 72 62 6f 73     enable verbos
2aad0 65 20 73 68 65 6c 6c 20 74 72 61 63 69 6e 67 0a  e shell tracing.
2aae0 2d 6e 2c 20 2d 2d 64 72 79 2d 72 75 6e 20 20 20  -n, --dry-run   
2aaf0 20 20 20 20 20 20 64 69 73 70 6c 61 79 20 63 6f        display co
2ab00 6d 6d 61 6e 64 73 20 77 69 74 68 6f 75 74 20 6d  mmands without m
2ab10 6f 64 69 66 79 69 6e 67 20 61 6e 79 20 66 69 6c  odifying any fil
2ab20 65 73 0a 20 20 20 20 2d 2d 66 65 61 74 75 72 65  es.    --feature
2ab30 73 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79  s        display
2ab40 20 62 61 73 69 63 20 63 6f 6e 66 69 67 75 72 61   basic configura
2ab50 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e  tion information
2ab60 20 61 6e 64 20 65 78 69 74 0a 20 20 20 20 2d 2d   and exit.    --
2ab70 66 69 6e 69 73 68 20 20 20 20 20 20 20 20 20 20  finish          
2ab80 73 61 6d 65 20 61 73 20 5c 60 2d 2d 6d 6f 64 65  same as \`--mode
2ab90 3d 66 69 6e 69 73 68 27 0a 20 20 20 20 2d 2d 68  =finish'.    --h
2aba0 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 64  elp            d
2abb0 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70  isplay this help
2abc0 20 6d 65 73 73 61 67 65 20 61 6e 64 20 65 78 69   message and exi
2abd0 74 0a 20 20 20 20 2d 2d 6d 6f 64 65 3d 4d 4f 44  t.    --mode=MOD
2abe0 45 20 20 20 20 20 20 20 75 73 65 20 6f 70 65 72  E       use oper
2abf0 61 74 69 6f 6e 20 6d 6f 64 65 20 4d 4f 44 45 20  ation mode MODE 
2ac00 5b 64 65 66 61 75 6c 74 3d 69 6e 66 65 72 72 65  [default=inferre
2ac10 64 20 66 72 6f 6d 20 4d 4f 44 45 2d 41 52 47 53  d from MODE-ARGS
2ac20 5d 0a 20 20 20 20 2d 2d 71 75 69 65 74 20 20 20  ].    --quiet   
2ac30 20 20 20 20 20 20 20 20 73 61 6d 65 20 61 73 20          same as 
2ac40 5c 60 2d 2d 73 69 6c 65 6e 74 27 0a 20 20 20 20  \`--silent'.    
2ac50 2d 2d 73 69 6c 65 6e 74 20 20 20 20 20 20 20 20  --silent        
2ac60 20 20 64 6f 6e 27 74 20 70 72 69 6e 74 20 69 6e    don't print in
2ac70 66 6f 72 6d 61 74 69 6f 6e 61 6c 20 6d 65 73 73  formational mess
2ac80 61 67 65 73 0a 20 20 20 20 2d 2d 74 61 67 3d 54  ages.    --tag=T
2ac90 41 47 20 20 20 20 20 20 20 20 20 75 73 65 20 63  AG         use c
2aca0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 76 61 72  onfiguration var
2acb0 69 61 62 6c 65 73 20 66 72 6f 6d 20 74 61 67 20  iables from tag 
2acc0 54 41 47 0a 20 20 20 20 2d 2d 76 65 72 73 69 6f  TAG.    --versio
2acd0 6e 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20  n         print 
2ace0 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74  version informat
2acf0 69 6f 6e 0a 0a 4d 4f 44 45 20 6d 75 73 74 20 62  ion..MODE must b
2ad00 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c  e one of the fol
2ad10 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 20 20 63  lowing:..      c
2ad20 6c 65 61 6e 20 20 20 20 20 20 20 20 20 20 20 72  lean           r
2ad30 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d  emove files from
2ad40 20 74 68 65 20 62 75 69 6c 64 20 64 69 72 65 63   the build direc
2ad50 74 6f 72 79 0a 20 20 20 20 20 20 63 6f 6d 70 69  tory.      compi
2ad60 6c 65 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69  le         compi
2ad70 6c 65 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65  le a source file
2ad80 20 69 6e 74 6f 20 61 20 6c 69 62 74 6f 6f 6c 20   into a libtool 
2ad90 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 65 78 65  object.      exe
2ada0 63 75 74 65 20 20 20 20 20 20 20 20 20 61 75 74  cute         aut
2adb0 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 6c  omatically set l
2adc0 69 62 72 61 72 79 20 70 61 74 68 2c 20 74 68 65  ibrary path, the
2add0 6e 20 72 75 6e 20 61 20 70 72 6f 67 72 61 6d 0a  n run a program.
2ade0 20 20 20 20 20 20 66 69 6e 69 73 68 20 20 20 20        finish    
2adf0 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 20 74        complete t
2ae00 68 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  he installation 
2ae10 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61  of libtool libra
2ae20 72 69 65 73 0a 20 20 20 20 20 20 69 6e 73 74 61  ries.      insta
2ae30 6c 6c 20 20 20 20 20 20 20 20 20 69 6e 73 74 61  ll         insta
2ae40 6c 6c 20 6c 69 62 72 61 72 69 65 73 20 6f 72 20  ll libraries or 
2ae50 65 78 65 63 75 74 61 62 6c 65 73 0a 20 20 20 20  executables.    
2ae60 20 20 6c 69 6e 6b 20 20 20 20 20 20 20 20 20 20    link          
2ae70 20 20 63 72 65 61 74 65 20 61 20 6c 69 62 72 61    create a libra
2ae80 72 79 20 6f 72 20 61 6e 20 65 78 65 63 75 74 61  ry or an executa
2ae90 62 6c 65 0a 20 20 20 20 20 20 75 6e 69 6e 73 74  ble.      uninst
2aea0 61 6c 6c 20 20 20 20 20 20 20 72 65 6d 6f 76 65  all       remove
2aeb0 20 6c 69 62 72 61 72 69 65 73 20 66 72 6f 6d 20   libraries from 
2aec0 61 6e 20 69 6e 73 74 61 6c 6c 65 64 20 64 69 72  an installed dir
2aed0 65 63 74 6f 72 79 0a 0a 4d 4f 44 45 2d 41 52 47  ectory..MODE-ARG
2aee0 53 20 76 61 72 79 20 64 65 70 65 6e 64 69 6e 67  S vary depending
2aef0 20 6f 6e 20 74 68 65 20 4d 4f 44 45 2e 20 20 54   on the MODE.  T
2af00 72 79 20 5c 60 24 6d 6f 64 65 6e 61 6d 65 20 2d  ry \`$modename -
2af10 2d 68 65 6c 70 20 2d 2d 6d 6f 64 65 3d 4d 4f 44  -help --mode=MOD
2af20 45 27 20 66 6f 72 0a 61 20 6d 6f 72 65 20 64 65  E' for.a more de
2af30 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69  tailed descripti
2af40 6f 6e 20 6f 66 20 4d 4f 44 45 2e 0a 0a 52 65 70  on of MODE...Rep
2af50 6f 72 74 20 62 75 67 73 20 74 6f 20 3c 62 75 67  ort bugs to <bug
2af60 2d 6c 69 62 74 6f 6f 6c 40 67 6e 75 2e 6f 72 67  -libtool@gnu.org
2af70 3e 2e 22 0a 20 20 65 78 69 74 20 30 0a 20 20 3b  >.".  exit 0.  ;
2af80 3b 0a 0a 63 6c 65 61 6e 29 0a 20 20 24 65 63 68  ;..clean).  $ech
2af90 6f 20 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64  o \."Usage: $mod
2afa0 65 6e 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e  ename [OPTION]..
2afb0 2e 20 2d 2d 6d 6f 64 65 3d 63 6c 65 61 6e 20 52  . --mode=clean R
2afc0 4d 20 5b 52 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e 2e  M [RM-OPTION]...
2afd0 20 46 49 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f 76 65   FILE.....Remove
2afe0 20 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65 20   files from the 
2aff0 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72 79 2e  build directory.
2b000 0a 0a 52 4d 20 69 73 20 74 68 65 20 6e 61 6d 65  ..RM is the name
2b010 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20   of the program 
2b020 74 6f 20 75 73 65 20 74 6f 20 64 65 6c 65 74 65  to use to delete
2b030 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65   files associate
2b040 64 20 77 69 74 68 20 65 61 63 68 20 46 49 4c 45  d with each FILE
2b050 0a 28 74 79 70 69 63 61 6c 6c 79 20 5c 60 2f 62  .(typically \`/b
2b060 69 6e 2f 72 6d 27 29 2e 20 20 52 4d 2d 4f 50 54  in/rm').  RM-OPT
2b070 49 4f 4e 53 20 61 72 65 20 6f 70 74 69 6f 6e 73  IONS are options
2b080 20 28 73 75 63 68 20 61 73 20 5c 60 2d 66 27 29   (such as \`-f')
2b090 20 74 6f 20 62 65 20 70 61 73 73 65 64 0a 74 6f   to be passed.to
2b0a0 20 52 4d 2e 0a 0a 49 66 20 46 49 4c 45 20 69 73   RM...If FILE is
2b0b0 20 61 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61   a libtool libra
2b0c0 72 79 2c 20 6f 62 6a 65 63 74 20 6f 72 20 70 72  ry, object or pr
2b0d0 6f 67 72 61 6d 2c 20 61 6c 6c 20 74 68 65 20 66  ogram, all the f
2b0e0 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 0a  iles associated.
2b0f0 77 69 74 68 20 69 74 20 61 72 65 20 64 65 6c 65  with it are dele
2b100 74 65 64 2e 20 4f 74 68 65 72 77 69 73 65 2c 20  ted. Otherwise, 
2b110 6f 6e 6c 79 20 46 49 4c 45 20 69 74 73 65 6c 66  only FILE itself
2b120 20 69 73 20 64 65 6c 65 74 65 64 20 75 73 69 6e   is deleted usin
2b130 67 20 52 4d 2e 22 0a 20 20 3b 3b 0a 0a 63 6f 6d  g RM.".  ;;..com
2b140 70 69 6c 65 29 0a 20 20 24 65 63 68 6f 20 5c 0a  pile).  $echo \.
2b150 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d  "Usage: $modenam
2b160 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d  e [OPTION]... --
2b170 6d 6f 64 65 3d 63 6f 6d 70 69 6c 65 20 43 4f 4d  mode=compile COM
2b180 50 49 4c 45 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 20  PILE-COMMAND... 
2b190 53 4f 55 52 43 45 46 49 4c 45 0a 0a 43 6f 6d 70  SOURCEFILE..Comp
2b1a0 69 6c 65 20 61 20 73 6f 75 72 63 65 20 66 69 6c  ile a source fil
2b1b0 65 20 69 6e 74 6f 20 61 20 6c 69 62 74 6f 6f 6c  e into a libtool
2b1c0 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 2e   library object.
2b1d0 0a 0a 54 68 69 73 20 6d 6f 64 65 20 61 63 63 65  ..This mode acce
2b1e0 70 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  pts the followin
2b1f0 67 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74  g additional opt
2b200 69 6f 6e 73 3a 0a 0a 20 20 2d 6f 20 4f 55 54 50  ions:..  -o OUTP
2b210 55 54 2d 46 49 4c 45 20 20 20 20 73 65 74 20 74  UT-FILE    set t
2b220 68 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 6e  he output file n
2b230 61 6d 65 20 74 6f 20 4f 55 54 50 55 54 2d 46 49  ame to OUTPUT-FI
2b240 4c 45 0a 20 20 2d 70 72 65 66 65 72 2d 70 69 63  LE.  -prefer-pic
2b250 20 20 20 20 20 20 20 74 72 79 20 74 6f 20 62 75         try to bu
2b260 69 6c 64 69 6e 67 20 50 49 43 20 6f 62 6a 65 63  ilding PIC objec
2b270 74 73 20 6f 6e 6c 79 0a 20 20 2d 70 72 65 66 65  ts only.  -prefe
2b280 72 2d 6e 6f 6e 2d 70 69 63 20 20 20 74 72 79 20  r-non-pic   try 
2b290 74 6f 20 62 75 69 6c 64 69 6e 67 20 6e 6f 6e 2d  to building non-
2b2a0 50 49 43 20 6f 62 6a 65 63 74 73 20 6f 6e 6c 79  PIC objects only
2b2b0 0a 20 20 2d 73 74 61 74 69 63 20 20 20 20 20 20  .  -static      
2b2c0 20 20 20 20 20 61 6c 77 61 79 73 20 62 75 69 6c       always buil
2b2d0 64 20 61 20 5c 60 2e 6f 27 20 66 69 6c 65 20 73  d a \`.o' file s
2b2e0 75 69 74 61 62 6c 65 20 66 6f 72 20 73 74 61 74  uitable for stat
2b2f0 69 63 20 6c 69 6e 6b 69 6e 67 0a 0a 43 4f 4d 50  ic linking..COMP
2b300 49 4c 45 2d 43 4f 4d 4d 41 4e 44 20 69 73 20 61  ILE-COMMAND is a
2b310 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 75   command to be u
2b320 73 65 64 20 69 6e 20 63 72 65 61 74 69 6e 67 20  sed in creating 
2b330 61 20 5c 60 73 74 61 6e 64 61 72 64 27 20 6f 62  a \`standard' ob
2b340 6a 65 63 74 20 66 69 6c 65 0a 66 72 6f 6d 20 74  ject file.from t
2b350 68 65 20 67 69 76 65 6e 20 53 4f 55 52 43 45 46  he given SOURCEF
2b360 49 4c 45 2e 0a 0a 54 68 65 20 6f 75 74 70 75 74  ILE...The output
2b370 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 64 65   file name is de
2b380 74 65 72 6d 69 6e 65 64 20 62 79 20 72 65 6d 6f  termined by remo
2b390 76 69 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f  ving the directo
2b3a0 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f  ry component fro
2b3b0 6d 0a 53 4f 55 52 43 45 46 49 4c 45 2c 20 74 68  m.SOURCEFILE, th
2b3c0 65 6e 20 73 75 62 73 74 69 74 75 74 69 6e 67 20  en substituting 
2b3d0 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
2b3e0 65 20 73 75 66 66 69 78 20 5c 60 2e 63 27 20 77  e suffix \`.c' w
2b3f0 69 74 68 20 74 68 65 0a 6c 69 62 72 61 72 79 20  ith the.library 
2b400 6f 62 6a 65 63 74 20 73 75 66 66 69 78 2c 20 5c  object suffix, \
2b410 60 2e 6c 6f 27 2e 22 0a 20 20 3b 3b 0a 0a 65 78  `.lo'.".  ;;..ex
2b420 65 63 75 74 65 29 0a 20 20 24 65 63 68 6f 20 5c  ecute).  $echo \
2b430 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61  ."Usage: $modena
2b440 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d  me [OPTION]... -
2b450 2d 6d 6f 64 65 3d 65 78 65 63 75 74 65 20 43 4f  -mode=execute CO
2b460 4d 4d 41 4e 44 20 5b 41 52 47 53 5d 2e 2e 2e 0a  MMAND [ARGS]....
2b470 0a 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73  .Automatically s
2b480 65 74 20 6c 69 62 72 61 72 79 20 70 61 74 68 2c  et library path,
2b490 20 74 68 65 6e 20 72 75 6e 20 61 20 70 72 6f 67   then run a prog
2b4a0 72 61 6d 2e 0a 0a 54 68 69 73 20 6d 6f 64 65 20  ram...This mode 
2b4b0 61 63 63 65 70 74 73 20 74 68 65 20 66 6f 6c 6c  accepts the foll
2b4c0 6f 77 69 6e 67 20 61 64 64 69 74 69 6f 6e 61 6c  owing additional
2b4d0 20 6f 70 74 69 6f 6e 73 3a 0a 0a 20 20 2d 64 6c   options:..  -dl
2b4e0 6f 70 65 6e 20 46 49 4c 45 20 20 20 20 20 20 61  open FILE      a
2b4f0 64 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79  dd the directory
2b500 20 63 6f 6e 74 61 69 6e 69 6e 67 20 46 49 4c 45   containing FILE
2b510 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20   to the library 
2b520 70 61 74 68 0a 0a 54 68 69 73 20 6d 6f 64 65 20  path..This mode 
2b530 73 65 74 73 20 74 68 65 20 6c 69 62 72 61 72 79  sets the library
2b540 20 70 61 74 68 20 65 6e 76 69 72 6f 6e 6d 65 6e   path environmen
2b550 74 20 76 61 72 69 61 62 6c 65 20 61 63 63 6f 72  t variable accor
2b560 64 69 6e 67 20 74 6f 20 5c 60 2d 64 6c 6f 70 65  ding to \`-dlope
2b570 6e 27 0a 66 6c 61 67 73 2e 0a 0a 49 66 20 61 6e  n'.flags...If an
2b580 79 20 6f 66 20 74 68 65 20 41 52 47 53 20 61 72  y of the ARGS ar
2b590 65 20 6c 69 62 74 6f 6f 6c 20 65 78 65 63 75 74  e libtool execut
2b5a0 61 62 6c 65 20 77 72 61 70 70 65 72 73 2c 20 74  able wrappers, t
2b5b0 68 65 6e 20 74 68 65 79 20 61 72 65 20 74 72 61  hen they are tra
2b5c0 6e 73 6c 61 74 65 64 0a 69 6e 74 6f 20 74 68 65  nslated.into the
2b5d0 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  ir corresponding
2b5e0 20 75 6e 69 6e 73 74 61 6c 6c 65 64 20 62 69 6e   uninstalled bin
2b5f0 61 72 79 2c 20 61 6e 64 20 61 6e 79 20 6f 66 20  ary, and any of 
2b600 74 68 65 69 72 20 72 65 71 75 69 72 65 64 20 6c  their required l
2b610 69 62 72 61 72 79 0a 64 69 72 65 63 74 6f 72 69  ibrary.directori
2b620 65 73 20 61 72 65 20 61 64 64 65 64 20 74 6f 20  es are added to 
2b630 74 68 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  the library path
2b640 2e 0a 0a 54 68 65 6e 2c 20 43 4f 4d 4d 41 4e 44  ...Then, COMMAND
2b650 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 77 69   is executed, wi
2b660 74 68 20 41 52 47 53 20 61 73 20 61 72 67 75 6d  th ARGS as argum
2b670 65 6e 74 73 2e 22 0a 20 20 3b 3b 0a 0a 66 69 6e  ents.".  ;;..fin
2b680 69 73 68 29 0a 20 20 24 65 63 68 6f 20 5c 0a 22  ish).  $echo \."
2b690 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61 6d 65  Usage: $modename
2b6a0 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d 2d 6d   [OPTION]... --m
2b6b0 6f 64 65 3d 66 69 6e 69 73 68 20 5b 4c 49 42 44  ode=finish [LIBD
2b6c0 49 52 5d 2e 2e 2e 0a 0a 43 6f 6d 70 6c 65 74 65  IR].....Complete
2b6d0 20 74 68 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f   the installatio
2b6e0 6e 20 6f 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62  n of libtool lib
2b6f0 72 61 72 69 65 73 2e 0a 0a 45 61 63 68 20 4c 49  raries...Each LI
2b700 42 44 49 52 20 69 73 20 61 20 64 69 72 65 63 74  BDIR is a direct
2b710 6f 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e  ory that contain
2b720 73 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  s libtool librar
2b730 69 65 73 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e  ies...The comman
2b740 64 73 20 74 68 61 74 20 74 68 69 73 20 6d 6f 64  ds that this mod
2b750 65 20 65 78 65 63 75 74 65 73 20 6d 61 79 20 72  e executes may r
2b760 65 71 75 69 72 65 20 73 75 70 65 72 75 73 65 72  equire superuser
2b770 20 70 72 69 76 69 6c 65 67 65 73 2e 20 20 55 73   privileges.  Us
2b780 65 0a 74 68 65 20 5c 60 2d 2d 64 72 79 2d 72 75  e.the \`--dry-ru
2b790 6e 27 20 6f 70 74 69 6f 6e 20 69 66 20 79 6f 75  n' option if you
2b7a0 20 6a 75 73 74 20 77 61 6e 74 20 74 6f 20 73 65   just want to se
2b7b0 65 20 77 68 61 74 20 77 6f 75 6c 64 20 62 65 20  e what would be 
2b7c0 65 78 65 63 75 74 65 64 2e 22 0a 20 20 3b 3b 0a  executed.".  ;;.
2b7d0 0a 69 6e 73 74 61 6c 6c 29 0a 20 20 24 65 63 68  .install).  $ech
2b7e0 6f 20 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64  o \."Usage: $mod
2b7f0 65 6e 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e  ename [OPTION]..
2b800 2e 20 2d 2d 6d 6f 64 65 3d 69 6e 73 74 61 6c 6c  . --mode=install
2b810 20 49 4e 53 54 41 4c 4c 2d 43 4f 4d 4d 41 4e 44   INSTALL-COMMAND
2b820 2e 2e 2e 0a 0a 49 6e 73 74 61 6c 6c 20 65 78 65  .....Install exe
2b830 63 75 74 61 62 6c 65 73 20 6f 72 20 6c 69 62 72  cutables or libr
2b840 61 72 69 65 73 2e 0a 0a 49 4e 53 54 41 4c 4c 2d  aries...INSTALL-
2b850 43 4f 4d 4d 41 4e 44 20 69 73 20 74 68 65 20 69  COMMAND is the i
2b860 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 63 6f 6d 6d  nstallation comm
2b870 61 6e 64 2e 20 20 54 68 65 20 66 69 72 73 74 20  and.  The first 
2b880 63 6f 6d 70 6f 6e 65 6e 74 20 73 68 6f 75 6c 64  component should
2b890 20 62 65 0a 65 69 74 68 65 72 20 74 68 65 20 5c   be.either the \
2b8a0 60 69 6e 73 74 61 6c 6c 27 20 6f 72 20 5c 60 63  `install' or \`c
2b8b0 70 27 20 70 72 6f 67 72 61 6d 2e 0a 0a 54 68 65  p' program...The
2b8c0 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 6f 6d   rest of the com
2b8d0 70 6f 6e 65 6e 74 73 20 61 72 65 20 69 6e 74 65  ponents are inte
2b8e0 72 70 72 65 74 65 64 20 61 73 20 61 72 67 75 6d  rpreted as argum
2b8f0 65 6e 74 73 20 74 6f 20 74 68 61 74 20 63 6f 6d  ents to that com
2b900 6d 61 6e 64 20 28 6f 6e 6c 79 0a 42 53 44 2d 63  mand (only.BSD-c
2b910 6f 6d 70 61 74 69 62 6c 65 20 69 6e 73 74 61 6c  ompatible instal
2b920 6c 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 72 65  l options are re
2b930 63 6f 67 6e 69 7a 65 64 29 2e 22 0a 20 20 3b 3b  cognized).".  ;;
2b940 0a 0a 6c 69 6e 6b 29 0a 20 20 24 65 63 68 6f 20  ..link).  $echo 
2b950 5c 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e  \."Usage: $moden
2b960 61 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20  ame [OPTION]... 
2b970 2d 2d 6d 6f 64 65 3d 6c 69 6e 6b 20 4c 49 4e 4b  --mode=link LINK
2b980 2d 43 4f 4d 4d 41 4e 44 2e 2e 2e 0a 0a 4c 69 6e  -COMMAND.....Lin
2b990 6b 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 6f  k object files o
2b9a0 72 20 6c 69 62 72 61 72 69 65 73 20 74 6f 67 65  r libraries toge
2b9b0 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 6e 6f  ther to form ano
2b9c0 74 68 65 72 20 6c 69 62 72 61 72 79 2c 20 6f 72  ther library, or
2b9d0 20 74 6f 0a 63 72 65 61 74 65 20 61 6e 20 65 78   to.create an ex
2b9e0 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d  ecutable program
2b9f0 2e 0a 0a 4c 49 4e 4b 2d 43 4f 4d 4d 41 4e 44 20  ...LINK-COMMAND 
2ba00 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 75 73 69  is a command usi
2ba10 6e 67 20 74 68 65 20 43 20 63 6f 6d 70 69 6c 65  ng the C compile
2ba20 72 20 74 68 61 74 20 79 6f 75 20 77 6f 75 6c 64  r that you would
2ba30 20 75 73 65 20 74 6f 20 63 72 65 61 74 65 0a 61   use to create.a
2ba40 20 70 72 6f 67 72 61 6d 20 66 72 6f 6d 20 73 65   program from se
2ba50 76 65 72 61 6c 20 6f 62 6a 65 63 74 20 66 69 6c  veral object fil
2ba60 65 73 2e 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  es...The followi
2ba70 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66  ng components of
2ba80 20 4c 49 4e 4b 2d 43 4f 4d 4d 41 4e 44 20 61 72   LINK-COMMAND ar
2ba90 65 20 74 72 65 61 74 65 64 20 73 70 65 63 69 61  e treated specia
2baa0 6c 6c 79 3a 0a 0a 20 20 2d 61 6c 6c 2d 73 74 61  lly:..  -all-sta
2bab0 74 69 63 20 20 20 20 20 20 20 64 6f 20 6e 6f 74  tic       do not
2bac0 20 64 6f 20 61 6e 79 20 64 79 6e 61 6d 69 63 20   do any dynamic 
2bad0 6c 69 6e 6b 69 6e 67 20 61 74 20 61 6c 6c 0a 20  linking at all. 
2bae0 20 2d 61 76 6f 69 64 2d 76 65 72 73 69 6f 6e 20   -avoid-version 
2baf0 20 20 20 64 6f 20 6e 6f 74 20 61 64 64 20 61 20     do not add a 
2bb00 76 65 72 73 69 6f 6e 20 73 75 66 66 69 78 20 69  version suffix i
2bb10 66 20 70 6f 73 73 69 62 6c 65 0a 20 20 2d 64 6c  f possible.  -dl
2bb20 6f 70 65 6e 20 46 49 4c 45 20 20 20 20 20 20 5c  open FILE      \
2bb30 60 2d 64 6c 70 72 65 6f 70 65 6e 27 20 46 49 4c  `-dlpreopen' FIL
2bb40 45 20 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62  E if it cannot b
2bb50 65 20 64 6c 6f 70 65 6e 65 64 20 61 74 20 72 75  e dlopened at ru
2bb60 6e 74 69 6d 65 0a 20 20 2d 64 6c 70 72 65 6f 70  ntime.  -dlpreop
2bb70 65 6e 20 46 49 4c 45 20 20 20 6c 69 6e 6b 20 69  en FILE   link i
2bb80 6e 20 46 49 4c 45 20 61 6e 64 20 61 64 64 20 69  n FILE and add i
2bb90 74 73 20 73 79 6d 62 6f 6c 73 20 74 6f 20 6c 74  ts symbols to lt
2bba0 5f 70 72 65 6c 6f 61 64 65 64 5f 73 79 6d 62 6f  _preloaded_symbo
2bbb0 6c 73 0a 20 20 2d 65 78 70 6f 72 74 2d 64 79 6e  ls.  -export-dyn
2bbc0 61 6d 69 63 20 20 20 61 6c 6c 6f 77 20 73 79 6d  amic   allow sym
2bbd0 62 6f 6c 73 20 66 72 6f 6d 20 4f 55 54 50 55 54  bols from OUTPUT
2bbe0 2d 46 49 4c 45 20 74 6f 20 62 65 20 72 65 73 6f  -FILE to be reso
2bbf0 6c 76 65 64 20 77 69 74 68 20 64 6c 73 79 6d 28  lved with dlsym(
2bc00 33 29 0a 20 20 2d 65 78 70 6f 72 74 2d 73 79 6d  3).  -export-sym
2bc10 62 6f 6c 73 20 53 59 4d 46 49 4c 45 0a 09 09 20  bols SYMFILE... 
2bc20 20 20 20 74 72 79 20 74 6f 20 65 78 70 6f 72 74     try to export
2bc30 20 6f 6e 6c 79 20 74 68 65 20 73 79 6d 62 6f 6c   only the symbol
2bc40 73 20 6c 69 73 74 65 64 20 69 6e 20 53 59 4d 46  s listed in SYMF
2bc50 49 4c 45 0a 20 20 2d 65 78 70 6f 72 74 2d 73 79  ILE.  -export-sy
2bc60 6d 62 6f 6c 73 2d 72 65 67 65 78 20 52 45 47 45  mbols-regex REGE
2bc70 58 0a 09 09 20 20 20 20 74 72 79 20 74 6f 20 65  X...    try to e
2bc80 78 70 6f 72 74 20 6f 6e 6c 79 20 74 68 65 20 73  xport only the s
2bc90 79 6d 62 6f 6c 73 20 6d 61 74 63 68 69 6e 67 20  ymbols matching 
2bca0 52 45 47 45 58 0a 20 20 2d 4c 4c 49 42 44 49 52  REGEX.  -LLIBDIR
2bcb0 20 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68            search
2bcc0 20 4c 49 42 44 49 52 20 66 6f 72 20 72 65 71 75   LIBDIR for requ
2bcd0 69 72 65 64 20 69 6e 73 74 61 6c 6c 65 64 20 6c  ired installed l
2bce0 69 62 72 61 72 69 65 73 0a 20 20 2d 6c 4e 41 4d  ibraries.  -lNAM
2bcf0 45 20 20 20 20 20 20 20 20 20 20 20 20 4f 55 54  E            OUT
2bd00 50 55 54 2d 46 49 4c 45 20 72 65 71 75 69 72 65  PUT-FILE require
2bd10 73 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20  s the installed 
2bd20 6c 69 62 72 61 72 79 20 6c 69 62 4e 41 4d 45 0a  library libNAME.
2bd30 20 20 2d 6d 6f 64 75 6c 65 20 20 20 20 20 20 20    -module       
2bd40 20 20 20 20 62 75 69 6c 64 20 61 20 6c 69 62 72      build a libr
2bd50 61 72 79 20 74 68 61 74 20 63 61 6e 20 64 6c 6f  ary that can dlo
2bd60 70 65 6e 65 64 0a 20 20 2d 6e 6f 2d 66 61 73 74  pened.  -no-fast
2bd70 2d 69 6e 73 74 61 6c 6c 20 20 64 69 73 61 62 6c  -install  disabl
2bd80 65 20 74 68 65 20 66 61 73 74 2d 69 6e 73 74 61  e the fast-insta
2bd90 6c 6c 20 6d 6f 64 65 0a 20 20 2d 6e 6f 2d 69 6e  ll mode.  -no-in
2bda0 73 74 61 6c 6c 20 20 20 20 20 20 20 6c 69 6e 6b  stall       link
2bdb0 20 61 20 6e 6f 74 2d 69 6e 73 74 61 6c 6c 61 62   a not-installab
2bdc0 6c 65 20 65 78 65 63 75 74 61 62 6c 65 0a 20 20  le executable.  
2bdd0 2d 6e 6f 2d 75 6e 64 65 66 69 6e 65 64 20 20 20  -no-undefined   
2bde0 20 20 64 65 63 6c 61 72 65 20 74 68 61 74 20 61    declare that a
2bdf0 20 6c 69 62 72 61 72 79 20 64 6f 65 73 20 6e 6f   library does no
2be00 74 20 72 65 66 65 72 20 74 6f 20 65 78 74 65 72  t refer to exter
2be10 6e 61 6c 20 73 79 6d 62 6f 6c 73 0a 20 20 2d 6f  nal symbols.  -o
2be20 20 4f 55 54 50 55 54 2d 46 49 4c 45 20 20 20 20   OUTPUT-FILE    
2be30 63 72 65 61 74 65 20 4f 55 54 50 55 54 2d 46 49  create OUTPUT-FI
2be40 4c 45 20 66 72 6f 6d 20 74 68 65 20 73 70 65 63  LE from the spec
2be50 69 66 69 65 64 20 6f 62 6a 65 63 74 73 0a 20 20  ified objects.  
2be60 2d 6f 62 6a 65 63 74 6c 69 73 74 20 46 49 4c 45  -objectlist FILE
2be70 20 20 55 73 65 20 61 20 6c 69 73 74 20 6f 66 20    Use a list of 
2be80 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 75  object files fou
2be90 6e 64 20 69 6e 20 46 49 4c 45 20 74 6f 20 73 70  nd in FILE to sp
2bea0 65 63 69 66 79 20 6f 62 6a 65 63 74 73 0a 20 20  ecify objects.  
2beb0 2d 70 72 65 63 69 6f 75 73 2d 66 69 6c 65 73 2d  -precious-files-
2bec0 72 65 67 65 78 20 52 45 47 45 58 0a 20 20 20 20  regex REGEX.    
2bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2bee0 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 6f 75 74  don't remove out
2bef0 70 75 74 20 66 69 6c 65 73 20 6d 61 74 63 68 69  put files matchi
2bf00 6e 67 20 52 45 47 45 58 0a 20 20 2d 72 65 6c 65  ng REGEX.  -rele
2bf10 61 73 65 20 52 45 4c 45 41 53 45 20 20 73 70 65  ase RELEASE  spe
2bf20 63 69 66 79 20 70 61 63 6b 61 67 65 20 72 65 6c  cify package rel
2bf30 65 61 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e  ease information
2bf40 0a 20 20 2d 72 70 61 74 68 20 4c 49 42 44 49 52  .  -rpath LIBDIR
2bf50 20 20 20 20 20 74 68 65 20 63 72 65 61 74 65 64       the created
2bf60 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 65 76   library will ev
2bf70 65 6e 74 75 61 6c 6c 79 20 62 65 20 69 6e 73 74  entually be inst
2bf80 61 6c 6c 65 64 20 69 6e 20 4c 49 42 44 49 52 0a  alled in LIBDIR.
2bf90 20 20 2d 52 5b 20 5d 4c 49 42 44 49 52 20 20 20    -R[ ]LIBDIR   
2bfa0 20 20 20 20 61 64 64 20 4c 49 42 44 49 52 20 74      add LIBDIR t
2bfb0 6f 20 74 68 65 20 72 75 6e 74 69 6d 65 20 70 61  o the runtime pa
2bfc0 74 68 20 6f 66 20 70 72 6f 67 72 61 6d 73 20 61  th of programs a
2bfd0 6e 64 20 6c 69 62 72 61 72 69 65 73 0a 20 20 2d  nd libraries.  -
2bfe0 73 74 61 74 69 63 20 20 20 20 20 20 20 20 20 20  static          
2bff0 20 64 6f 20 6e 6f 74 20 64 6f 20 61 6e 79 20 64   do not do any d
2c000 79 6e 61 6d 69 63 20 6c 69 6e 6b 69 6e 67 20 6f  ynamic linking o
2c010 66 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72  f libtool librar
2c020 69 65 73 0a 20 20 2d 76 65 72 73 69 6f 6e 2d 69  ies.  -version-i
2c030 6e 66 6f 20 43 55 52 52 45 4e 54 5b 3a 52 45 56  nfo CURRENT[:REV
2c040 49 53 49 4f 4e 5b 3a 41 47 45 5d 5d 0a 09 09 20  ISION[:AGE]]... 
2c050 20 20 20 73 70 65 63 69 66 79 20 6c 69 62 72 61     specify libra
2c060 72 79 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20  ry version info 
2c070 5b 65 61 63 68 20 76 61 72 69 61 62 6c 65 20 64  [each variable d
2c080 65 66 61 75 6c 74 73 20 74 6f 20 30 5d 0a 0a 41  efaults to 0]..A
2c090 6c 6c 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 73  ll other options
2c0a0 20 28 61 72 67 75 6d 65 6e 74 73 20 62 65 67 69   (arguments begi
2c0b0 6e 6e 69 6e 67 20 77 69 74 68 20 5c 60 2d 27 29  nning with \`-')
2c0c0 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 45   are ignored...E
2c0d0 76 65 72 79 20 6f 74 68 65 72 20 61 72 67 75 6d  very other argum
2c0e0 65 6e 74 20 69 73 20 74 72 65 61 74 65 64 20 61  ent is treated a
2c0f0 73 20 61 20 66 69 6c 65 6e 61 6d 65 2e 20 20 46  s a filename.  F
2c100 69 6c 65 73 20 65 6e 64 69 6e 67 20 69 6e 20 5c  iles ending in \
2c110 60 2e 6c 61 27 20 61 72 65 0a 74 72 65 61 74 65  `.la' are.treate
2c120 64 20 61 73 20 75 6e 69 6e 73 74 61 6c 6c 65 64  d as uninstalled
2c130 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 69   libtool librari
2c140 65 73 2c 20 6f 74 68 65 72 20 66 69 6c 65 73 20  es, other files 
2c150 61 72 65 20 73 74 61 6e 64 61 72 64 20 6f 72 20  are standard or 
2c160 6c 69 62 72 61 72 79 0a 6f 62 6a 65 63 74 20 66  library.object f
2c170 69 6c 65 73 2e 0a 0a 49 66 20 74 68 65 20 4f 55  iles...If the OU
2c180 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73 20 69  TPUT-FILE ends i
2c190 6e 20 5c 60 2e 6c 61 27 2c 20 74 68 65 6e 20 61  n \`.la', then a
2c1a0 20 6c 69 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79   libtool library
2c1b0 20 69 73 20 63 72 65 61 74 65 64 2c 0a 6f 6e 6c   is created,.onl
2c1c0 79 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74  y library object
2c1d0 73 20 28 5c 60 2e 6c 6f 27 20 66 69 6c 65 73 29  s (\`.lo' files)
2c1e0 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65   may be specifie
2c1f0 64 2c 20 61 6e 64 20 5c 60 2d 72 70 61 74 68 27  d, and \`-rpath'
2c200 20 69 73 0a 72 65 71 75 69 72 65 64 2c 20 65 78   is.required, ex
2c210 63 65 70 74 20 77 68 65 6e 20 63 72 65 61 74 69  cept when creati
2c220 6e 67 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65  ng a convenience
2c230 20 6c 69 62 72 61 72 79 2e 0a 0a 49 66 20 4f 55   library...If OU
2c240 54 50 55 54 2d 46 49 4c 45 20 65 6e 64 73 20 69  TPUT-FILE ends i
2c250 6e 20 5c 60 2e 61 27 20 6f 72 20 5c 60 2e 6c 69  n \`.a' or \`.li
2c260 62 27 2c 20 74 68 65 6e 20 61 20 73 74 61 6e 64  b', then a stand
2c270 61 72 64 20 6c 69 62 72 61 72 79 20 69 73 20 63  ard library is c
2c280 72 65 61 74 65 64 0a 75 73 69 6e 67 20 5c 60 61  reated.using \`a
2c290 72 27 20 61 6e 64 20 5c 60 72 61 6e 6c 69 62 27  r' and \`ranlib'
2c2a0 2c 20 6f 72 20 6f 6e 20 57 69 6e 64 6f 77 73 20  , or on Windows 
2c2b0 75 73 69 6e 67 20 5c 60 6c 69 62 27 2e 0a 0a 49  using \`lib'...I
2c2c0 66 20 4f 55 54 50 55 54 2d 46 49 4c 45 20 65 6e  f OUTPUT-FILE en
2c2d0 64 73 20 69 6e 20 5c 60 2e 6c 6f 27 20 6f 72 20  ds in \`.lo' or 
2c2e0 5c 60 2e 24 7b 6f 62 6a 65 78 74 7d 27 2c 20 74  \`.${objext}', t
2c2f0 68 65 6e 20 61 20 72 65 6c 6f 61 64 61 62 6c 65  hen a reloadable
2c300 20 6f 62 6a 65 63 74 20 66 69 6c 65 0a 69 73 20   object file.is 
2c310 63 72 65 61 74 65 64 2c 20 6f 74 68 65 72 77 69  created, otherwi
2c320 73 65 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65  se an executable
2c330 20 70 72 6f 67 72 61 6d 20 69 73 20 63 72 65 61   program is crea
2c340 74 65 64 2e 22 0a 20 20 3b 3b 0a 0a 75 6e 69 6e  ted.".  ;;..unin
2c350 73 74 61 6c 6c 29 0a 20 20 24 65 63 68 6f 20 5c  stall).  $echo \
2c360 0a 22 55 73 61 67 65 3a 20 24 6d 6f 64 65 6e 61  ."Usage: $modena
2c370 6d 65 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 2d  me [OPTION]... -
2c380 2d 6d 6f 64 65 3d 75 6e 69 6e 73 74 61 6c 6c 20  -mode=uninstall 
2c390 52 4d 20 5b 52 4d 2d 4f 50 54 49 4f 4e 5d 2e 2e  RM [RM-OPTION]..
2c3a0 2e 20 46 49 4c 45 2e 2e 2e 0a 0a 52 65 6d 6f 76  . FILE.....Remov
2c3b0 65 20 6c 69 62 72 61 72 69 65 73 20 66 72 6f 6d  e libraries from
2c3c0 20 61 6e 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e   an installation
2c3d0 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 52 4d 20   directory...RM 
2c3e0 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  is the name of t
2c3f0 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73  he program to us
2c400 65 20 74 6f 20 64 65 6c 65 74 65 20 66 69 6c 65  e to delete file
2c410 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74  s associated wit
2c420 68 20 65 61 63 68 20 46 49 4c 45 0a 28 74 79 70  h each FILE.(typ
2c430 69 63 61 6c 6c 79 20 5c 60 2f 62 69 6e 2f 72 6d  ically \`/bin/rm
2c440 27 29 2e 20 20 52 4d 2d 4f 50 54 49 4f 4e 53 20  ').  RM-OPTIONS 
2c450 61 72 65 20 6f 70 74 69 6f 6e 73 20 28 73 75 63  are options (suc
2c460 68 20 61 73 20 5c 60 2d 66 27 29 20 74 6f 20 62  h as \`-f') to b
2c470 65 20 70 61 73 73 65 64 0a 74 6f 20 52 4d 2e 0a  e passed.to RM..
2c480 0a 49 66 20 46 49 4c 45 20 69 73 20 61 20 6c 69  .If FILE is a li
2c490 62 74 6f 6f 6c 20 6c 69 62 72 61 72 79 2c 20 61  btool library, a
2c4a0 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 61 73 73  ll the files ass
2c4b0 6f 63 69 61 74 65 64 20 77 69 74 68 20 69 74 20  ociated with it 
2c4c0 61 72 65 20 64 65 6c 65 74 65 64 2e 0a 4f 74 68  are deleted..Oth
2c4d0 65 72 77 69 73 65 2c 20 6f 6e 6c 79 20 46 49 4c  erwise, only FIL
2c4e0 45 20 69 74 73 65 6c 66 20 69 73 20 64 65 6c 65  E itself is dele
2c4f0 74 65 64 20 75 73 69 6e 67 20 52 4d 2e 22 0a 20  ted using RM.". 
2c500 20 3b 3b 0a 0a 2a 29 0a 20 20 24 65 63 68 6f 20   ;;..*).  $echo 
2c510 22 24 6d 6f 64 65 6e 61 6d 65 3a 20 69 6e 76 61  "$modename: inva
2c520 6c 69 64 20 6f 70 65 72 61 74 69 6f 6e 20 6d 6f  lid operation mo
2c530 64 65 20 5c 60 24 6d 6f 64 65 27 22 20 31 3e 26  de \`$mode'" 1>&
2c540 32 0a 20 20 24 65 63 68 6f 20 22 24 68 65 6c 70  2.  $echo "$help
2c550 22 20 31 3e 26 32 0a 20 20 65 78 69 74 20 31 0a  " 1>&2.  exit 1.
2c560 20 20 3b 3b 0a 65 73 61 63 0a 0a 24 65 63 68 6f    ;;.esac..$echo
2c570 0a 24 65 63 68 6f 20 22 54 72 79 20 5c 60 24 6d  .$echo "Try \`$m
2c580 6f 64 65 6e 61 6d 65 20 2d 2d 68 65 6c 70 27 20  odename --help' 
2c590 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
2c5a0 74 69 6f 6e 20 61 62 6f 75 74 20 6f 74 68 65 72  tion about other
2c5b0 20 6d 6f 64 65 73 2e 22 0a 0a 65 78 69 74 20 30   modes."..exit 0
2c5c0 0a 0a 23 20 54 68 65 20 54 41 47 73 20 62 65 6c  ..# The TAGs bel
2c5d0 6f 77 20 61 72 65 20 64 65 66 69 6e 65 64 20 73  ow are defined s
2c5e0 75 63 68 20 74 68 61 74 20 77 65 20 6e 65 76 65  uch that we neve
2c5f0 72 20 67 65 74 20 69 6e 74 6f 20 61 20 73 69 74  r get into a sit
2c600 75 61 74 69 6f 6e 0a 23 20 69 6e 20 77 68 69 63  uation.# in whic
2c610 68 20 77 65 20 64 69 73 61 62 6c 65 20 62 6f 74  h we disable bot
2c620 68 20 6b 69 6e 64 73 20 6f 66 20 6c 69 62 72 61  h kinds of libra
2c630 72 69 65 73 2e 20 20 47 69 76 65 6e 20 63 6f 6e  ries.  Given con
2c640 66 6c 69 63 74 69 6e 67 0a 23 20 63 68 6f 69 63  flicting.# choic
2c650 65 73 2c 20 77 65 20 67 6f 20 66 6f 72 20 61 20  es, we go for a 
2c660 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 2c 20  static library, 
2c670 74 68 61 74 20 69 73 20 74 68 65 20 6d 6f 73 74  that is the most
2c680 20 70 6f 72 74 61 62 6c 65 2c 0a 23 20 73 69 6e   portable,.# sin
2c690 63 65 20 77 65 20 63 61 6e 27 74 20 74 65 6c 6c  ce we can't tell
2c6a0 20 77 68 65 74 68 65 72 20 73 68 61 72 65 64 20   whether shared 
2c6b0 6c 69 62 72 61 72 69 65 73 20 77 65 72 65 20 64  libraries were d
2c6c0 69 73 61 62 6c 65 64 20 62 65 63 61 75 73 65 0a  isabled because.
2c6d0 23 20 74 68 65 20 75 73 65 72 20 61 73 6b 65 64  # the user asked
2c6e0 20 66 6f 72 20 74 68 61 74 20 6f 72 20 62 65 63   for that or bec
2c6f0 61 75 73 65 20 74 68 65 20 70 6c 61 74 66 6f 72  ause the platfor
2c700 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72  m doesn't suppor
2c710 74 0a 23 20 74 68 65 6d 2e 20 20 54 68 69 73 20  t.# them.  This 
2c720 69 73 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20  is particularly 
2c730 69 6d 70 6f 72 74 61 6e 74 20 6f 6e 20 41 49 58  important on AIX
2c740 2c 20 62 65 63 61 75 73 65 20 77 65 20 64 6f 6e  , because we don
2c750 27 74 0a 23 20 73 75 70 70 6f 72 74 20 68 61 76  't.# support hav
2c760 69 6e 67 20 62 6f 74 68 20 73 74 61 74 69 63 20  ing both static 
2c770 61 6e 64 20 73 68 61 72 65 64 20 6c 69 62 72 61  and shared libra
2c780 72 69 65 73 20 65 6e 61 62 6c 65 64 20 61 74 20  ries enabled at 
2c790 74 68 65 20 73 61 6d 65 0a 23 20 74 69 6d 65 20  the same.# time 
2c7a0 6f 6e 20 74 68 61 74 20 70 6c 61 74 66 6f 72 6d  on that platform
2c7b0 2c 20 73 6f 20 77 65 20 64 65 66 61 75 6c 74 20  , so we default 
2c7c0 74 6f 20 61 20 73 68 61 72 65 64 2d 6f 6e 6c 79  to a shared-only
2c7d0 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a   configuration..
2c7e0 23 20 49 66 20 61 20 64 69 73 61 62 6c 65 2d 73  # If a disable-s
2c7f0 68 61 72 65 64 20 74 61 67 20 69 73 20 67 69 76  hared tag is giv
2c800 65 6e 2c 20 77 65 27 6c 6c 20 66 61 6c 6c 62 61  en, we'll fallba
2c810 63 6b 20 74 6f 20 61 20 73 74 61 74 69 63 2d 6f  ck to a static-o
2c820 6e 6c 79 0a 23 20 63 6f 6e 66 69 67 75 72 61 74  nly.# configurat
2c830 69 6f 6e 2e 20 20 42 75 74 20 77 65 27 6c 6c 20  ion.  But we'll 
2c840 6e 65 76 65 72 20 67 6f 20 66 72 6f 6d 20 73 74  never go from st
2c850 61 74 69 63 2d 6f 6e 6c 79 20 74 6f 20 73 68 61  atic-only to sha
2c860 72 65 64 2d 6f 6e 6c 79 2e 0a 0a 23 20 23 23 23  red-only...# ###
2c870 20 42 45 47 49 4e 20 4c 49 42 54 4f 4f 4c 20 54   BEGIN LIBTOOL T
2c880 41 47 20 43 4f 4e 46 49 47 3a 20 64 69 73 61 62  AG CONFIG: disab
2c890 6c 65 2d 73 68 61 72 65 64 0a 62 75 69 6c 64 5f  le-shared.build_
2c8a0 6c 69 62 74 6f 6f 6c 5f 6c 69 62 73 3d 6e 6f 0a  libtool_libs=no.
2c8b0 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 79  build_old_libs=y
2c8c0 65 73 0a 23 20 23 23 23 20 45 4e 44 20 4c 49 42  es.# ### END LIB
2c8d0 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a  TOOL TAG CONFIG:
2c8e0 20 64 69 73 61 62 6c 65 2d 73 68 61 72 65 64 0a   disable-shared.
2c8f0 0a 23 20 23 23 23 20 42 45 47 49 4e 20 4c 49 42  .# ### BEGIN LIB
2c900 54 4f 4f 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a  TOOL TAG CONFIG:
2c910 20 64 69 73 61 62 6c 65 2d 73 74 61 74 69 63 0a   disable-static.
2c920 62 75 69 6c 64 5f 6f 6c 64 5f 6c 69 62 73 3d 60  build_old_libs=`
2c930 63 61 73 65 20 24 62 75 69 6c 64 5f 6c 69 62 74  case $build_libt
2c940 6f 6f 6c 5f 6c 69 62 73 20 69 6e 20 79 65 73 29  ool_libs in yes)
2c950 20 24 65 63 68 6f 20 6e 6f 3b 3b 20 2a 29 20 24   $echo no;; *) $
2c960 65 63 68 6f 20 79 65 73 3b 3b 20 65 73 61 63 60  echo yes;; esac`
2c970 0a 23 20 23 23 23 20 45 4e 44 20 4c 49 42 54 4f  .# ### END LIBTO
2c980 4f 4c 20 54 41 47 20 43 4f 4e 46 49 47 3a 20 64  OL TAG CONFIG: d
2c990 69 73 61 62 6c 65 2d 73 74 61 74 69 63 0a 0a 23  isable-static..#
2c9a0 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73   Local Variables
2c9b0 3a 0a 23 20 6d 6f 64 65 3a 73 68 65 6c 6c 2d 73  :.# mode:shell-s
2c9c0 63 72 69 70 74 0a 23 20 73 68 2d 69 6e 64 65 6e  cript.# sh-inden
2c9d0 74 61 74 69 6f 6e 3a 32 0a 23 20 45 6e 64 3a 0a  tation:2.# End:.