Annotation of libwww/config/ltmain.sh, revision 1.12

1.1       frystyk     1: # ltmain.sh - Provide generalized library-building support services.
1.11      kahan       2: # NOTE: Changing this file will not affect anything until you rerun configure.
1.2       frystyk     3: #
1.12    ! vbancrof    4: # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
1.11      kahan       5: # Free Software Foundation, Inc.
1.5       frystyk     6: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
1.1       frystyk     7: #
                      8: # This program is free software; you can redistribute it and/or modify
                      9: # it under the terms of the GNU General Public License as published by
                     10: # the Free Software Foundation; either version 2 of the License, or
                     11: # (at your option) any later version.
                     12: #
                     13: # This program is distributed in the hope that it will be useful, but
                     14: # WITHOUT ANY WARRANTY; without even the implied warranty of
                     15: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     16: # General Public License for more details.
                     17: #
                     18: # You should have received a copy of the GNU General Public License
                     19: # along with this program; if not, write to the Free Software
                     20: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
                     21: #
                     22: # As a special exception to the GNU General Public License, if you
                     23: # distribute this file as part of a program that contains a
                     24: # configuration script generated by Autoconf, you may include it under
                     25: # the same distribution terms that you use for the rest of that program.
                     26: 
1.12    ! vbancrof   27: basename="s,^.*/,,g"
        !            28: 
        !            29: # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
        !            30: # is ksh but when the shell is invoked as "sh" and the current value of
        !            31: # the _XPG environment variable is not equal to 1 (one), the special
        !            32: # positional parameter $0, within a function call, is the name of the
        !            33: # function.
        !            34: progpath="$0"
        !            35: 
        !            36: # RH: define SED for historic ltconfig's generated by Libtool 1.3
        !            37: [ -z "$SED" ] && SED=sed
        !            38: 
        !            39: # The name of this program:
        !            40: progname=`echo "$progpath" | $SED $basename`
        !            41: modename="$progname"
        !            42: 
        !            43: # Global variables:
        !            44: EXIT_SUCCESS=0
        !            45: EXIT_FAILURE=1
        !            46: 
        !            47: PROGRAM=ltmain.sh
        !            48: PACKAGE=libtool
        !            49: VERSION=1.5.6
        !            50: TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42)"
        !            51: 
        !            52: 
1.3       frystyk    53: # Check that we have a working $echo.
                     54: if test "X$1" = X--no-reexec; then
                     55:   # Discard the --no-reexec flag, and continue.
                     56:   shift
1.4       frystyk    57: elif test "X$1" = X--fallback-echo; then
1.5       frystyk    58:   # Avoid inline document here, it may be left over
                     59:   :
                     60: elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
                     61:   # Yippee, $echo works!
                     62:   :
                     63: else
                     64:   # Restart under the correct shell, and then maybe $echo will work.
1.12    ! vbancrof   65:   exec $SHELL "$progpath" --no-reexec ${1+"$@"}
1.5       frystyk    66: fi
                     67: 
                     68: if test "X$1" = X--fallback-echo; then
1.4       frystyk    69:   # used as fallback echo
                     70:   shift
                     71:   cat <<EOF
                     72: $*
                     73: EOF
1.12    ! vbancrof   74:   exit $EXIT_SUCCESS
1.3       frystyk    75: fi
                     76: 
1.1       frystyk    77: default_mode=
                     78: help="Try \`$progname --help' for more information."
                     79: magic="%%%MAGIC variable%%%"
                     80: mkdir="mkdir"
                     81: mv="mv -f"
                     82: rm="rm -f"
                     83: 
1.2       frystyk    84: # Sed substitution that helps us do robust quoting.  It backslashifies
                     85: # metacharacters that are still active within double-quoted strings.
1.12    ! vbancrof   86: Xsed="${SED}"' -e 1s/^X//'
1.2       frystyk    87: sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
1.12    ! vbancrof   88: # test EBCDIC or ASCII
        !            89: case `echo A|tr A '\301'` in
        !            90:  A) # EBCDIC based system
        !            91:   SP2NL="tr '\100' '\n'"
        !            92:   NL2SP="tr '\r\n' '\100\100'"
        !            93:   ;;
        !            94:  *) # Assume ASCII based system
        !            95:   SP2NL="tr '\040' '\012'"
        !            96:   NL2SP="tr '\015\012' '\040\040'"
        !            97:   ;;
        !            98: esac
1.2       frystyk    99: 
                    100: # NLS nuisances.
                    101: # Only set LANG and LC_ALL to C if already set.
                    102: # These must not be set unconditionally because not all systems understand
                    103: # e.g. LANG=C (notably SCO).
1.3       frystyk   104: # We save the old values to restore during execute mode.
                    105: if test "${LC_ALL+set}" = set; then
                    106:   save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
                    107: fi
                    108: if test "${LANG+set}" = set; then
                    109:   save_LANG="$LANG"; LANG=C; export LANG
                    110: fi
1.2       frystyk   111: 
1.11      kahan     112: # Make sure IFS has a sensible default
1.12    ! vbancrof  113: : ${IFS="      
        !           114: "}
1.1       frystyk   115: 
                    116: if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
1.12    ! vbancrof  117:   $echo "$modename: not configured to build any kind of library" 1>&2
        !           118:   $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
        !           119:   exit $EXIT_FAILURE
1.1       frystyk   120: fi
                    121: 
                    122: # Global variables.
                    123: mode=$default_mode
                    124: nonopt=
                    125: prev=
                    126: prevopt=
                    127: run=
1.2       frystyk   128: show="$echo"
1.1       frystyk   129: show_help=
1.2       frystyk   130: execute_dlfiles=
1.4       frystyk   131: lo2o="s/\\.lo\$/.${objext}/"
1.5       frystyk   132: o2lo="s/\\.${objext}\$/.lo/"
1.1       frystyk   133: 
1.12    ! vbancrof  134: #####################################
        !           135: # Shell function definitions:
        !           136: # This seems to be the best place for them
        !           137: 
        !           138: # func_win32_libid arg
        !           139: # return the library type of file 'arg'
        !           140: #
        !           141: # Need a lot of goo to handle *both* DLLs and import libs
        !           142: # Has to be a shell function in order to 'eat' the argument
        !           143: # that is supplied when $file_magic_command is called.
        !           144: func_win32_libid () {
        !           145:   win32_libid_type="unknown"
        !           146:   win32_fileres=`file -L $1 2>/dev/null`
        !           147:   case $win32_fileres in
        !           148:   *ar\ archive\ import\ library*) # definitely import
        !           149:     win32_libid_type="x86 archive import"
        !           150:     ;;
        !           151:   *ar\ archive*) # could be an import, or static
        !           152:     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
        !           153:       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
        !           154:       win32_nmres=`eval $NM -f posix -A $1 | \
        !           155:        sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
        !           156:       if test "X$win32_nmres" = "Ximport" ; then
        !           157:         win32_libid_type="x86 archive import"
        !           158:       else
        !           159:         win32_libid_type="x86 archive static"
        !           160:       fi
        !           161:     fi
        !           162:     ;;
        !           163:   *DLL*)
        !           164:     win32_libid_type="x86 DLL"
        !           165:     ;;
        !           166:   *executable*) # but shell scripts are "executable" too...
        !           167:     case $win32_fileres in
        !           168:     *MS\ Windows\ PE\ Intel*)
        !           169:       win32_libid_type="x86 DLL"
        !           170:       ;;
        !           171:     esac
        !           172:     ;;
        !           173:   esac
        !           174:   $echo $win32_libid_type
        !           175: }
        !           176: 
        !           177: 
        !           178: # func_infer_tag arg
        !           179: # Infer tagged configuration to use if any are available and
        !           180: # if one wasn't chosen via the "--tag" command line option.
        !           181: # Only attempt this if the compiler in the base compile
        !           182: # command doesn't match the default compiler.
        !           183: # arg is usually of the form 'gcc ...'
        !           184: func_infer_tag () {
        !           185:     if test -n "$available_tags" && test -z "$tagname"; then
        !           186:       CC_quoted=
        !           187:       for arg in $CC; do
        !           188:        case $arg in
        !           189:          *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
        !           190:          arg="\"$arg\""
        !           191:          ;;
        !           192:        esac
        !           193:        CC_quoted="$CC_quoted $arg"
        !           194:       done
        !           195:       case $@ in
        !           196:       # Blanks in the command may have been stripped by the calling shell,
        !           197:       # but not from the CC environment variable when configure was run.
        !           198:       " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
        !           199:       # Blanks at the start of $base_compile will cause this to fail
        !           200:       # if we don't check for them as well.
        !           201:       *)
        !           202:        for z in $available_tags; do
        !           203:          if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
        !           204:            # Evaluate the configuration.
        !           205:            eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
        !           206:            CC_quoted=
        !           207:            for arg in $CC; do
        !           208:            # Double-quote args containing other shell metacharacters.
        !           209:            case $arg in
        !           210:              *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
        !           211:              arg="\"$arg\""
        !           212:              ;;
        !           213:            esac
        !           214:            CC_quoted="$CC_quoted $arg"
        !           215:          done
        !           216:            case "$@ " in
        !           217:              " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
        !           218:              # The compiler in the base compile command matches
        !           219:              # the one in the tagged configuration.
        !           220:              # Assume this is the tagged configuration we want.
        !           221:              tagname=$z
        !           222:              break
        !           223:              ;;
        !           224:            esac
        !           225:          fi
        !           226:        done
        !           227:        # If $tagname still isn't set, then no tagged configuration
        !           228:        # was found and let the user know that the "--tag" command
        !           229:        # line option must be used.
        !           230:        if test -z "$tagname"; then
        !           231:          $echo "$modename: unable to infer tagged configuration"
        !           232:          $echo "$modename: specify a tag with \`--tag'" 1>&2
        !           233:          exit $EXIT_FAILURE
        !           234: #        else
        !           235: #          $echo "$modename: using $tagname tagged configuration"
        !           236:        fi
        !           237:        ;;
        !           238:       esac
        !           239:     fi
        !           240: }
        !           241: # End of Shell function definitions
        !           242: #####################################
        !           243: 
        !           244: # Darwin sucks
        !           245: eval std_shrext=\"$shrext_cmds\"
        !           246: 
1.1       frystyk   247: # Parse our command line options once, thoroughly.
1.12    ! vbancrof  248: while test "$#" -gt 0
1.1       frystyk   249: do
                    250:   arg="$1"
                    251:   shift
                    252: 
1.11      kahan     253:   case $arg in
1.2       frystyk   254:   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
1.1       frystyk   255:   *) optarg= ;;
                    256:   esac
                    257: 
                    258:   # If the previous option needs an argument, assign it.
                    259:   if test -n "$prev"; then
1.11      kahan     260:     case $prev in
1.2       frystyk   261:     execute_dlfiles)
1.11      kahan     262:       execute_dlfiles="$execute_dlfiles $arg"
1.2       frystyk   263:       ;;
1.12    ! vbancrof  264:     tag)
        !           265:       tagname="$arg"
        !           266:       preserve_args="${preserve_args}=$arg"
        !           267: 
        !           268:       # Check whether tagname contains only valid characters
        !           269:       case $tagname in
        !           270:       *[!-_A-Za-z0-9,/]*)
        !           271:        $echo "$progname: invalid tag name: $tagname" 1>&2
        !           272:        exit $EXIT_FAILURE
        !           273:        ;;
        !           274:       esac
        !           275: 
        !           276:       case $tagname in
        !           277:       CC)
        !           278:        # Don't test for the "default" C tag, as we know, it's there, but
        !           279:        # not specially marked.
        !           280:        ;;
        !           281:       *)
        !           282:        if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
        !           283:          taglist="$taglist $tagname"
        !           284:          # Evaluate the configuration.
        !           285:          eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
        !           286:        else
        !           287:          $echo "$progname: ignoring unknown tag $tagname" 1>&2
        !           288:        fi
        !           289:        ;;
        !           290:       esac
        !           291:       ;;
1.2       frystyk   292:     *)
                    293:       eval "$prev=\$arg"
                    294:       ;;
                    295:     esac
                    296: 
1.1       frystyk   297:     prev=
                    298:     prevopt=
                    299:     continue
                    300:   fi
                    301: 
                    302:   # Have we seen a non-optional argument yet?
1.11      kahan     303:   case $arg in
1.1       frystyk   304:   --help)
                    305:     show_help=yes
                    306:     ;;
                    307: 
                    308:   --version)
1.12    ! vbancrof  309:     $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
        !           310:     $echo
        !           311:     $echo "Copyright (C) 2003  Free Software Foundation, Inc."
        !           312:     $echo "This is free software; see the source for copying conditions.  There is NO"
        !           313:     $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
        !           314:     exit $EXIT_SUCCESS
1.1       frystyk   315:     ;;
                    316: 
1.3       frystyk   317:   --config)
1.12    ! vbancrof  318:     ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
        !           319:     # Now print the configurations for the tags.
        !           320:     for tagname in $taglist; do
        !           321:       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
        !           322:     done
        !           323:     exit $EXIT_SUCCESS
1.3       frystyk   324:     ;;
                    325: 
                    326:   --debug)
1.12    ! vbancrof  327:     $echo "$progname: enabling shell trace mode"
1.3       frystyk   328:     set -x
1.12    ! vbancrof  329:     preserve_args="$preserve_args $arg"
1.3       frystyk   330:     ;;
                    331: 
1.1       frystyk   332:   --dry-run | -n)
                    333:     run=:
                    334:     ;;
                    335: 
                    336:   --features)
1.12    ! vbancrof  337:     $echo "host: $host"
1.1       frystyk   338:     if test "$build_libtool_libs" = yes; then
1.12    ! vbancrof  339:       $echo "enable shared libraries"
1.1       frystyk   340:     else
1.12    ! vbancrof  341:       $echo "disable shared libraries"
1.1       frystyk   342:     fi
                    343:     if test "$build_old_libs" = yes; then
1.12    ! vbancrof  344:       $echo "enable static libraries"
1.1       frystyk   345:     else
1.12    ! vbancrof  346:       $echo "disable static libraries"
1.1       frystyk   347:     fi
1.12    ! vbancrof  348:     exit $EXIT_SUCCESS
1.1       frystyk   349:     ;;
                    350: 
                    351:   --finish) mode="finish" ;;
                    352: 
                    353:   --mode) prevopt="--mode" prev=mode ;;
                    354:   --mode=*) mode="$optarg" ;;
                    355: 
1.11      kahan     356:   --preserve-dup-deps) duplicate_deps="yes" ;;
                    357: 
1.2       frystyk   358:   --quiet | --silent)
                    359:     show=:
1.12    ! vbancrof  360:     preserve_args="$preserve_args $arg"
        !           361:     ;;
        !           362: 
        !           363:   --tag) prevopt="--tag" prev=tag ;;
        !           364:   --tag=*)
        !           365:     set tag "$optarg" ${1+"$@"}
        !           366:     shift
        !           367:     prev=tag
        !           368:     preserve_args="$preserve_args --tag"
1.2       frystyk   369:     ;;
                    370: 
                    371:   -dlopen)
                    372:     prevopt="-dlopen"
                    373:     prev=execute_dlfiles
                    374:     ;;
                    375: 
1.1       frystyk   376:   -*)
1.2       frystyk   377:     $echo "$modename: unrecognized option \`$arg'" 1>&2
                    378:     $echo "$help" 1>&2
1.12    ! vbancrof  379:     exit $EXIT_FAILURE
1.1       frystyk   380:     ;;
                    381: 
                    382:   *)
                    383:     nonopt="$arg"
                    384:     break
                    385:     ;;
                    386:   esac
                    387: done
                    388: 
                    389: if test -n "$prevopt"; then
1.2       frystyk   390:   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
                    391:   $echo "$help" 1>&2
1.12    ! vbancrof  392:   exit $EXIT_FAILURE
1.1       frystyk   393: fi
                    394: 
1.11      kahan     395: # If this variable is set in any of the actions, the command in it
                    396: # will be execed at the end.  This prevents here-documents from being
                    397: # left over by shells.
                    398: exec_cmd=
                    399: 
1.1       frystyk   400: if test -z "$show_help"; then
                    401: 
                    402:   # Infer the operation mode.
                    403:   if test -z "$mode"; then
1.12    ! vbancrof  404:     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
        !           405:     $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2
1.11      kahan     406:     case $nonopt in
1.12    ! vbancrof  407:     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
1.1       frystyk   408:       mode=link
                    409:       for arg
                    410:       do
1.11      kahan     411:        case $arg in
1.4       frystyk   412:        -c)
                    413:           mode=compile
                    414:           break
                    415:           ;;
                    416:        esac
1.1       frystyk   417:       done
                    418:       ;;
1.3       frystyk   419:     *db | *dbx | *strace | *truss)
1.2       frystyk   420:       mode=execute
                    421:       ;;
                    422:     *install*|cp|mv)
1.1       frystyk   423:       mode=install
                    424:       ;;
                    425:     *rm)
                    426:       mode=uninstall
                    427:       ;;
                    428:     *)
1.2       frystyk   429:       # If we have no mode, but dlfiles were specified, then do execute mode.
                    430:       test -n "$execute_dlfiles" && mode=execute
                    431: 
1.1       frystyk   432:       # Just use the default operation mode.
                    433:       if test -z "$mode"; then
1.4       frystyk   434:        if test -n "$nonopt"; then
                    435:          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
                    436:        else
                    437:          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
                    438:        fi
1.1       frystyk   439:       fi
                    440:       ;;
                    441:     esac
                    442:   fi
                    443: 
1.2       frystyk   444:   # Only execute mode is allowed to have -dlopen flags.
                    445:   if test -n "$execute_dlfiles" && test "$mode" != execute; then
                    446:     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
                    447:     $echo "$help" 1>&2
1.12    ! vbancrof  448:     exit $EXIT_FAILURE
1.2       frystyk   449:   fi
                    450: 
1.1       frystyk   451:   # Change the help message to a mode-specific one.
                    452:   generic_help="$help"
1.2       frystyk   453:   help="Try \`$modename --help --mode=$mode' for more information."
1.1       frystyk   454: 
                    455:   # These modes are in order of execution frequency so that they run quickly.
1.11      kahan     456:   case $mode in
1.1       frystyk   457:   # libtool compile mode
                    458:   compile)
1.2       frystyk   459:     modename="$modename: compile"
1.1       frystyk   460:     # Get the compilation command and the source file.
1.2       frystyk   461:     base_compile=
1.12    ! vbancrof  462:     srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
        !           463:     suppress_opt=yes
1.2       frystyk   464:     suppress_output=
1.12    ! vbancrof  465:     arg_mode=normal
        !           466:     libobj=
        !           467:     later=
1.1       frystyk   468: 
                    469:     for arg
                    470:     do
1.12    ! vbancrof  471:       case "$arg_mode" in
        !           472:       arg  )
        !           473:        # do not "continue".  Instead, add this to base_compile
        !           474:        lastarg="$arg"
        !           475:        arg_mode=normal
        !           476:        ;;
1.11      kahan     477: 
1.12    ! vbancrof  478:       target )
        !           479:        libobj="$arg"
        !           480:        arg_mode=normal
1.11      kahan     481:        continue
                    482:        ;;
                    483: 
1.12    ! vbancrof  484:       normal )
        !           485:        # Accept any command-line options.
        !           486:        case $arg in
        !           487:        -o)
        !           488:          if test -n "$libobj" ; then
        !           489:            $echo "$modename: you cannot specify \`-o' more than once" 1>&2
        !           490:            exit $EXIT_FAILURE
        !           491:          fi
        !           492:          arg_mode=target
        !           493:          continue
        !           494:          ;;
1.2       frystyk   495: 
1.12    ! vbancrof  496:        -static | -prefer-pic | -prefer-non-pic)
        !           497:          later="$later $arg"
        !           498:          continue
        !           499:          ;;
1.11      kahan     500: 
1.12    ! vbancrof  501:        -no-suppress)
        !           502:          suppress_opt=no
        !           503:          continue
        !           504:          ;;
1.11      kahan     505: 
1.12    ! vbancrof  506:        -Xcompiler)
        !           507:          arg_mode=arg  #  the next one goes into the "base_compile" arg list
        !           508:          continue      #  The current "srcfile" will either be retained or
        !           509:          ;;            #  replaced later.  I would guess that would be a bug.
        !           510: 
        !           511:        -Wc,*)
        !           512:          args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
        !           513:          lastarg=
        !           514:          save_ifs="$IFS"; IFS=','
        !           515:          for arg in $args; do
        !           516:            IFS="$save_ifs"
1.11      kahan     517: 
1.12    ! vbancrof  518:            # Double-quote args containing other shell metacharacters.
        !           519:            # Many Bourne shells cannot handle close brackets correctly
        !           520:            # in scan sets, so we specify it separately.
        !           521:            case $arg in
        !           522:              *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
        !           523:              arg="\"$arg\""
        !           524:              ;;
        !           525:            esac
        !           526:            lastarg="$lastarg $arg"
        !           527:          done
1.11      kahan     528:          IFS="$save_ifs"
1.12    ! vbancrof  529:          lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
1.11      kahan     530: 
1.12    ! vbancrof  531:          # Add the arguments to base_compile.
1.11      kahan     532:          base_compile="$base_compile $lastarg"
1.12    ! vbancrof  533:          continue
        !           534:          ;;
1.2       frystyk   535: 
1.12    ! vbancrof  536:        * )
        !           537:          # Accept the current argument as the source file.
        !           538:          # The previous "srcfile" becomes the current argument.
        !           539:          #
        !           540:          lastarg="$srcfile"
        !           541:          srcfile="$arg"
        !           542:          ;;
        !           543:        esac  #  case $arg
1.4       frystyk   544:        ;;
1.12    ! vbancrof  545:       esac    #  case $arg_mode
1.2       frystyk   546: 
                    547:       # Aesthetically quote the previous argument.
                    548:       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
                    549: 
1.12    ! vbancrof  550:       case $lastarg in
1.2       frystyk   551:       # Double-quote args containing other shell metacharacters.
1.11      kahan     552:       # Many Bourne shells cannot handle close brackets correctly
                    553:       # in scan sets, so we specify it separately.
                    554:       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
1.2       frystyk   555:        lastarg="\"$lastarg\""
                    556:        ;;
1.1       frystyk   557:       esac
                    558: 
1.12    ! vbancrof  559:       base_compile="$base_compile $lastarg"
        !           560:     done # for arg
1.1       frystyk   561: 
1.12    ! vbancrof  562:     case $arg_mode in
        !           563:     arg)
        !           564:       $echo "$modename: you must specify an argument for -Xcompile"
        !           565:       exit $EXIT_FAILURE
1.4       frystyk   566:       ;;
1.12    ! vbancrof  567:     target)
        !           568:       $echo "$modename: you must specify a target with \`-o'" 1>&2
        !           569:       exit $EXIT_FAILURE
1.4       frystyk   570:       ;;
                    571:     *)
1.12    ! vbancrof  572:       # Get the name of the library object.
        !           573:       [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
1.4       frystyk   574:       ;;
                    575:     esac
1.1       frystyk   576: 
                    577:     # Recognize several different file suffixes.
1.4       frystyk   578:     # If the user specifies -o file.o, it is replaced with file.lo
1.12    ! vbancrof  579:     xform='[cCFSifmso]'
1.11      kahan     580:     case $libobj in
1.2       frystyk   581:     *.ada) xform=ada ;;
                    582:     *.adb) xform=adb ;;
                    583:     *.ads) xform=ads ;;
                    584:     *.asm) xform=asm ;;
                    585:     *.c++) xform=c++ ;;
1.1       frystyk   586:     *.cc) xform=cc ;;
1.12    ! vbancrof  587:     *.ii) xform=ii ;;
        !           588:     *.class) xform=class ;;
1.1       frystyk   589:     *.cpp) xform=cpp ;;
                    590:     *.cxx) xform=cxx ;;
                    591:     *.f90) xform=f90 ;;
1.2       frystyk   592:     *.for) xform=for ;;
1.12    ! vbancrof  593:     *.java) xform=java ;;
1.1       frystyk   594:     esac
                    595: 
1.2       frystyk   596:     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
1.1       frystyk   597: 
1.11      kahan     598:     case $libobj in
1.4       frystyk   599:     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
1.1       frystyk   600:     *)
1.4       frystyk   601:       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
1.12    ! vbancrof  602:       exit $EXIT_FAILURE
1.1       frystyk   603:       ;;
                    604:     esac
                    605: 
1.12    ! vbancrof  606:     func_infer_tag $base_compile
        !           607: 
        !           608:     for arg in $later; do
        !           609:       case $arg in
        !           610:       -static)
        !           611:        build_old_libs=yes
        !           612:        continue
        !           613:        ;;
        !           614: 
        !           615:       -prefer-pic)
        !           616:        pic_mode=yes
        !           617:        continue
        !           618:        ;;
        !           619: 
        !           620:       -prefer-non-pic)
        !           621:        pic_mode=no
        !           622:        continue
        !           623:        ;;
        !           624:       esac
        !           625:     done
        !           626: 
        !           627:     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
        !           628:     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
        !           629:     if test "X$xdir" = "X$obj"; then
        !           630:       xdir=
        !           631:     else
        !           632:       xdir=$xdir/
        !           633:     fi
        !           634:     lobj=${xdir}$objdir/$objname
        !           635: 
1.1       frystyk   636:     if test -z "$base_compile"; then
1.2       frystyk   637:       $echo "$modename: you must specify a compilation command" 1>&2
                    638:       $echo "$help" 1>&2
1.12    ! vbancrof  639:       exit $EXIT_FAILURE
1.1       frystyk   640:     fi
                    641: 
                    642:     # Delete any leftover library objects.
                    643:     if test "$build_old_libs" = yes; then
1.12    ! vbancrof  644:       removelist="$obj $lobj $libobj ${libobj}T"
1.4       frystyk   645:     else
1.12    ! vbancrof  646:       removelist="$lobj $libobj ${libobj}T"
1.4       frystyk   647:     fi
                    648: 
                    649:     $run $rm $removelist
1.12    ! vbancrof  650:     trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1.4       frystyk   651: 
1.11      kahan     652:     # On Cygwin there's no "real" PIC flag so we must build both object types
                    653:     case $host_os in
                    654:     cygwin* | mingw* | pw32* | os2*)
                    655:       pic_mode=default
                    656:       ;;
                    657:     esac
1.12    ! vbancrof  658:     if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1.11      kahan     659:       # non-PIC code in shared libraries is not supported
                    660:       pic_mode=default
                    661:     fi
                    662: 
1.4       frystyk   663:     # Calculate the filename of the output object if compiler does
                    664:     # not support -o with -c
                    665:     if test "$compiler_c_o" = no; then
1.11      kahan     666:       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1.4       frystyk   667:       lockfile="$output_obj.lock"
                    668:       removelist="$removelist $output_obj $lockfile"
1.12    ! vbancrof  669:       trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1.1       frystyk   670:     else
1.12    ! vbancrof  671:       output_obj=
1.4       frystyk   672:       need_locks=no
                    673:       lockfile=
                    674:     fi
                    675: 
                    676:     # Lock this critical section if it is needed
                    677:     # We use this script file to make the link, it avoids creating a new file
                    678:     if test "$need_locks" = yes; then
1.12    ! vbancrof  679:       until $run ln "$progpath" "$lockfile" 2>/dev/null; do
1.4       frystyk   680:        $show "Waiting for $lockfile to be removed"
                    681:        sleep 2
                    682:       done
                    683:     elif test "$need_locks" = warn; then
                    684:       if test -f "$lockfile"; then
1.12    ! vbancrof  685:        $echo "\
1.4       frystyk   686: *** ERROR, $lockfile exists and contains:
                    687: `cat $lockfile 2>/dev/null`
                    688: 
                    689: This indicates that another process is trying to use the same
                    690: temporary object file, and libtool could not work around it because
                    691: your compiler does not support \`-c' and \`-o' together.  If you
                    692: repeat this compilation, it may succeed, by chance, but you had better
                    693: avoid parallel builds (make -j) in this platform, or get a better
                    694: compiler."
                    695: 
                    696:        $run $rm $removelist
1.12    ! vbancrof  697:        exit $EXIT_FAILURE
1.4       frystyk   698:       fi
1.12    ! vbancrof  699:       $echo $srcfile > "$lockfile"
1.4       frystyk   700:     fi
                    701: 
                    702:     if test -n "$fix_srcfile_path"; then
                    703:       eval srcfile=\"$fix_srcfile_path\"
1.1       frystyk   704:     fi
                    705: 
1.12    ! vbancrof  706:     $run $rm "$libobj" "${libobj}T"
        !           707: 
        !           708:     # Create a libtool object file (analogous to a ".la" file),
        !           709:     # but don't create it if we're doing a dry run.
        !           710:     test -z "$run" && cat > ${libobj}T <<EOF
        !           711: # $libobj - a libtool object file
        !           712: # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
        !           713: #
        !           714: # Please DO NOT delete this file!
        !           715: # It is necessary for linking the library.
        !           716: 
        !           717: # Name of the PIC object.
        !           718: EOF
        !           719: 
1.1       frystyk   720:     # Only build a PIC object if we are building libtool libraries.
                    721:     if test "$build_libtool_libs" = yes; then
1.2       frystyk   722:       # Without this assignment, base_compile gets emptied.
                    723:       fbsd_hideous_sh_bug=$base_compile
                    724: 
1.11      kahan     725:       if test "$pic_mode" != no; then
1.12    ! vbancrof  726:        command="$base_compile $srcfile $pic_flag"
1.11      kahan     727:       else
                    728:        # Don't build PIC code
                    729:        command="$base_compile $srcfile"
                    730:       fi
1.4       frystyk   731: 
1.12    ! vbancrof  732:       if test ! -d "${xdir}$objdir"; then
        !           733:        $show "$mkdir ${xdir}$objdir"
        !           734:        $run $mkdir ${xdir}$objdir
        !           735:        status=$?
        !           736:        if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
        !           737:          exit $status
1.4       frystyk   738:        fi
                    739:       fi
1.12    ! vbancrof  740: 
        !           741:       if test -z "$output_obj"; then
        !           742:        # Place PIC objects in $objdir
        !           743:        command="$command -o $lobj"
1.4       frystyk   744:       fi
                    745: 
1.12    ! vbancrof  746:       $run $rm "$lobj" "$output_obj"
        !           747: 
1.4       frystyk   748:       $show "$command"
                    749:       if $run eval "$command"; then :
1.1       frystyk   750:       else
1.4       frystyk   751:        test -n "$output_obj" && $run $rm $removelist
1.12    ! vbancrof  752:        exit $EXIT_FAILURE
1.4       frystyk   753:       fi
                    754: 
                    755:       if test "$need_locks" = warn &&
1.12    ! vbancrof  756:         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        !           757:        $echo "\
1.4       frystyk   758: *** ERROR, $lockfile contains:
                    759: `cat $lockfile 2>/dev/null`
                    760: 
                    761: but it should contain:
                    762: $srcfile
                    763: 
                    764: This indicates that another process is trying to use the same
                    765: temporary object file, and libtool could not work around it because
                    766: your compiler does not support \`-c' and \`-o' together.  If you
                    767: repeat this compilation, it may succeed, by chance, but you had better
                    768: avoid parallel builds (make -j) in this platform, or get a better
                    769: compiler."
                    770: 
                    771:        $run $rm $removelist
1.12    ! vbancrof  772:        exit $EXIT_FAILURE
1.4       frystyk   773:       fi
                    774: 
                    775:       # Just move the object if needed, then go on to compile the next one
1.12    ! vbancrof  776:       if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
        !           777:        $show "$mv $output_obj $lobj"
        !           778:        if $run $mv $output_obj $lobj; then :
1.4       frystyk   779:        else
                    780:          error=$?
                    781:          $run $rm $removelist
                    782:          exit $error
                    783:        fi
1.1       frystyk   784:       fi
                    785: 
1.12    ! vbancrof  786:       # Append the name of the PIC object to the libtool object file.
        !           787:       test -z "$run" && cat >> ${libobj}T <<EOF
        !           788: pic_object='$objdir/$objname'
1.4       frystyk   789: 
1.12    ! vbancrof  790: EOF
1.4       frystyk   791: 
1.12    ! vbancrof  792:       # Allow error messages only from the first compilation.
        !           793:       if test "$suppress_opt" = yes; then
        !           794:         suppress_output=' >/dev/null 2>&1'
1.1       frystyk   795:       fi
1.12    ! vbancrof  796:     else
        !           797:       # No PIC object so indicate it doesn't exist in the libtool
        !           798:       # object file.
        !           799:       test -z "$run" && cat >> ${libobj}T <<EOF
        !           800: pic_object=none
1.1       frystyk   801: 
1.12    ! vbancrof  802: EOF
1.1       frystyk   803:     fi
                    804: 
                    805:     # Only build a position-dependent object if we build old libraries.
                    806:     if test "$build_old_libs" = yes; then
1.11      kahan     807:       if test "$pic_mode" != yes; then
                    808:        # Don't build PIC code
                    809:        command="$base_compile $srcfile"
                    810:       else
1.12    ! vbancrof  811:        command="$base_compile $srcfile $pic_flag"
1.11      kahan     812:       fi
1.4       frystyk   813:       if test "$compiler_c_o" = yes; then
                    814:        command="$command -o $obj"
                    815:       fi
                    816: 
1.2       frystyk   817:       # Suppress compiler output if we already did a PIC compilation.
1.4       frystyk   818:       command="$command$suppress_output"
1.12    ! vbancrof  819:       $run $rm "$obj" "$output_obj"
1.4       frystyk   820:       $show "$command"
                    821:       if $run eval "$command"; then :
1.1       frystyk   822:       else
1.4       frystyk   823:        $run $rm $removelist
1.12    ! vbancrof  824:        exit $EXIT_FAILURE
1.4       frystyk   825:       fi
                    826: 
                    827:       if test "$need_locks" = warn &&
1.12    ! vbancrof  828:         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        !           829:        $echo "\
1.4       frystyk   830: *** ERROR, $lockfile contains:
                    831: `cat $lockfile 2>/dev/null`
                    832: 
                    833: but it should contain:
                    834: $srcfile
                    835: 
                    836: This indicates that another process is trying to use the same
                    837: temporary object file, and libtool could not work around it because
                    838: your compiler does not support \`-c' and \`-o' together.  If you
                    839: repeat this compilation, it may succeed, by chance, but you had better
                    840: avoid parallel builds (make -j) in this platform, or get a better
                    841: compiler."
                    842: 
                    843:        $run $rm $removelist
1.12    ! vbancrof  844:        exit $EXIT_FAILURE
1.4       frystyk   845:       fi
                    846: 
                    847:       # Just move the object if needed
1.12    ! vbancrof  848:       if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1.4       frystyk   849:        $show "$mv $output_obj $obj"
                    850:        if $run $mv $output_obj $obj; then :
                    851:        else
                    852:          error=$?
                    853:          $run $rm $removelist
                    854:          exit $error
                    855:        fi
                    856:       fi
                    857: 
1.12    ! vbancrof  858:       # Append the name of the non-PIC object the libtool object file.
        !           859:       # Only append if the libtool object file exists.
        !           860:       test -z "$run" && cat >> ${libobj}T <<EOF
        !           861: # Name of the non-PIC object.
        !           862: non_pic_object='$objname'
        !           863: 
        !           864: EOF
        !           865:     else
        !           866:       # Append the name of the non-PIC object the libtool object file.
        !           867:       # Only append if the libtool object file exists.
        !           868:       test -z "$run" && cat >> ${libobj}T <<EOF
        !           869: # Name of the non-PIC object.
        !           870: non_pic_object=none
        !           871: 
        !           872: EOF
1.1       frystyk   873:     fi
                    874: 
1.12    ! vbancrof  875:     $run $mv "${libobj}T" "${libobj}"
        !           876: 
1.4       frystyk   877:     # Unlock the critical section if it was locked
                    878:     if test "$need_locks" != no; then
1.11      kahan     879:       $run $rm "$lockfile"
1.1       frystyk   880:     fi
                    881: 
1.12    ! vbancrof  882:     exit $EXIT_SUCCESS
1.1       frystyk   883:     ;;
                    884: 
                    885:   # libtool link mode
1.11      kahan     886:   link | relink)
1.2       frystyk   887:     modename="$modename: link"
1.11      kahan     888:     case $host in
                    889:     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1.4       frystyk   890:       # It is impossible to link a dll without this setting, and
                    891:       # we shouldn't force the makefile maintainer to figure out
                    892:       # which system we are compiling for in order to pass an extra
1.12    ! vbancrof  893:       # flag for every libtool invocation.
1.4       frystyk   894:       # allow_undefined=no
                    895: 
                    896:       # FIXME: Unfortunately, there are problems with the above when trying
                    897:       # to make a dll which has undefined symbols, in which case not
                    898:       # even a static library is built.  For now, we need to specify
                    899:       # -no-undefined on the libtool link line when we can be certain
                    900:       # that all symbols are satisfied, otherwise we get a static library.
                    901:       allow_undefined=yes
                    902:       ;;
                    903:     *)
                    904:       allow_undefined=yes
                    905:       ;;
                    906:     esac
1.11      kahan     907:     libtool_args="$nonopt"
1.12    ! vbancrof  908:     base_compile="$nonopt $@"
1.11      kahan     909:     compile_command="$nonopt"
                    910:     finalize_command="$nonopt"
1.2       frystyk   911: 
1.5       frystyk   912:     compile_rpath=
                    913:     finalize_rpath=
1.1       frystyk   914:     compile_shlibpath=
                    915:     finalize_shlibpath=
1.3       frystyk   916:     convenience=
                    917:     old_convenience=
1.1       frystyk   918:     deplibs=
1.11      kahan     919:     old_deplibs=
                    920:     compiler_flags=
                    921:     linker_flags=
                    922:     dllsearchpath=
                    923:     lib_search_path=`pwd`
1.12    ! vbancrof  924:     inst_prefix_dir=
1.4       frystyk   925: 
                    926:     avoid_version=no
1.2       frystyk   927:     dlfiles=
                    928:     dlprefiles=
1.5       frystyk   929:     dlself=no
1.1       frystyk   930:     export_dynamic=no
1.4       frystyk   931:     export_symbols=
1.5       frystyk   932:     export_symbols_regex=
1.3       frystyk   933:     generated=
1.1       frystyk   934:     libobjs=
                    935:     ltlibs=
1.4       frystyk   936:     module=no
1.11      kahan     937:     no_install=no
1.1       frystyk   938:     objs=
1.12    ! vbancrof  939:     non_pic_objects=
        !           940:     precious_files_regex=
1.5       frystyk   941:     prefer_static_libs=no
1.4       frystyk   942:     preload=no
1.1       frystyk   943:     prev=
                    944:     prevarg=
1.2       frystyk   945:     release=
                    946:     rpath=
1.4       frystyk   947:     xrpath=
1.1       frystyk   948:     perm_rpath=
                    949:     temp_rpath=
1.5       frystyk   950:     thread_safe=no
1.1       frystyk   951:     vinfo=
1.12    ! vbancrof  952:     vinfo_number=no
        !           953: 
        !           954:     func_infer_tag $base_compile
1.1       frystyk   955: 
                    956:     # We need to know -static, to get the right output filenames.
                    957:     for arg
                    958:     do
1.11      kahan     959:       case $arg in
1.2       frystyk   960:       -all-static | -static)
1.5       frystyk   961:        if test "X$arg" = "X-all-static"; then
                    962:          if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1.2       frystyk   963:            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
1.5       frystyk   964:          fi
                    965:          if test -n "$link_static_flag"; then
                    966:            dlopen_self=$dlopen_self_static
                    967:          fi
                    968:        else
                    969:          if test -z "$pic_flag" && test -n "$link_static_flag"; then
                    970:            dlopen_self=$dlopen_self_static
                    971:          fi
1.4       frystyk   972:        fi
                    973:        build_libtool_libs=no
1.2       frystyk   974:        build_old_libs=yes
1.5       frystyk   975:        prefer_static_libs=yes
1.4       frystyk   976:        break
                    977:        ;;
1.1       frystyk   978:       esac
                    979:     done
                    980: 
1.2       frystyk   981:     # See if our shared archives depend on static archives.
                    982:     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
                    983: 
                    984:     # Go through the arguments, transforming them on the way.
1.12    ! vbancrof  985:     while test "$#" -gt 0; do
1.3       frystyk   986:       arg="$1"
                    987:       shift
1.11      kahan     988:       case $arg in
                    989:       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
                    990:        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
                    991:        ;;
                    992:       *) qarg=$arg ;;
                    993:       esac
                    994:       libtool_args="$libtool_args $qarg"
1.3       frystyk   995: 
1.1       frystyk   996:       # If the previous option needs an argument, assign it.
                    997:       if test -n "$prev"; then
1.11      kahan     998:        case $prev in
1.4       frystyk   999:        output)
                   1000:          compile_command="$compile_command @OUTPUT@"
                   1001:          finalize_command="$finalize_command @OUTPUT@"
                   1002:          ;;
                   1003:        esac
                   1004: 
1.11      kahan    1005:        case $prev in
1.4       frystyk  1006:        dlfiles|dlprefiles)
                   1007:          if test "$preload" = no; then
                   1008:            # Add the symbol object into the linking commands.
                   1009:            compile_command="$compile_command @SYMFILE@"
                   1010:            finalize_command="$finalize_command @SYMFILE@"
                   1011:            preload=yes
                   1012:          fi
1.11      kahan    1013:          case $arg in
1.4       frystyk  1014:          *.la | *.lo) ;;  # We handle these cases below.
1.7       frystyk  1015:          force)
                   1016:            if test "$dlself" = no; then
                   1017:              dlself=needless
                   1018:              export_dynamic=yes
                   1019:            fi
                   1020:            prev=
                   1021:            continue
                   1022:            ;;
1.5       frystyk  1023:          self)
                   1024:            if test "$prev" = dlprefiles; then
                   1025:              dlself=yes
                   1026:            elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
                   1027:              dlself=yes
                   1028:            else
                   1029:              dlself=needless
                   1030:              export_dynamic=yes
                   1031:            fi
                   1032:            prev=
                   1033:            continue
                   1034:            ;;
1.4       frystyk  1035:          *)
1.5       frystyk  1036:            if test "$prev" = dlfiles; then
                   1037:              dlfiles="$dlfiles $arg"
                   1038:            else
                   1039:              dlprefiles="$dlprefiles $arg"
                   1040:            fi
1.4       frystyk  1041:            prev=
1.11      kahan    1042:            continue
1.4       frystyk  1043:            ;;
                   1044:          esac
                   1045:          ;;
1.5       frystyk  1046:        expsyms)
1.4       frystyk  1047:          export_symbols="$arg"
                   1048:          if test ! -f "$arg"; then
                   1049:            $echo "$modename: symbol file \`$arg' does not exist"
1.12    ! vbancrof 1050:            exit $EXIT_FAILURE
1.4       frystyk  1051:          fi
                   1052:          prev=
1.5       frystyk  1053:          continue
1.4       frystyk  1054:          ;;
1.5       frystyk  1055:        expsyms_regex)
                   1056:          export_symbols_regex="$arg"
1.2       frystyk  1057:          prev=
                   1058:          continue
                   1059:          ;;
1.12    ! vbancrof 1060:        inst_prefix)
        !          1061:          inst_prefix_dir="$arg"
        !          1062:          prev=
        !          1063:          continue
        !          1064:          ;;
        !          1065:        precious_regex)
        !          1066:          precious_files_regex="$arg"
        !          1067:          prev=
        !          1068:          continue
        !          1069:          ;;
1.5       frystyk  1070:        release)
                   1071:          release="-$arg"
1.4       frystyk  1072:          prev=
                   1073:          continue
                   1074:          ;;
1.12    ! vbancrof 1075:        objectlist)
        !          1076:          if test -f "$arg"; then
        !          1077:            save_arg=$arg
        !          1078:            moreargs=
        !          1079:            for fil in `cat $save_arg`
        !          1080:            do
        !          1081: #            moreargs="$moreargs $fil"
        !          1082:              arg=$fil
        !          1083:              # A libtool-controlled object.
        !          1084: 
        !          1085:              # Check to see that this really is a libtool object.
        !          1086:              if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
        !          1087:                pic_object=
        !          1088:                non_pic_object=
        !          1089: 
        !          1090:                # Read the .lo file
        !          1091:                # If there is no directory component, then add one.
        !          1092:                case $arg in
        !          1093:                */* | *\\*) . $arg ;;
        !          1094:                *) . ./$arg ;;
        !          1095:                esac
        !          1096: 
        !          1097:                if test -z "$pic_object" || \
        !          1098:                   test -z "$non_pic_object" ||
        !          1099:                   test "$pic_object" = none && \
        !          1100:                   test "$non_pic_object" = none; then
        !          1101:                  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
        !          1102:                  exit $EXIT_FAILURE
        !          1103:                fi
        !          1104: 
        !          1105:                # Extract subdirectory from the argument.
        !          1106:                xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
        !          1107:                if test "X$xdir" = "X$arg"; then
        !          1108:                  xdir=
        !          1109:                else
        !          1110:                  xdir="$xdir/"
        !          1111:                fi
        !          1112: 
        !          1113:                if test "$pic_object" != none; then
        !          1114:                  # Prepend the subdirectory the object is found in.
        !          1115:                  pic_object="$xdir$pic_object"
        !          1116: 
        !          1117:                  if test "$prev" = dlfiles; then
        !          1118:                    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
        !          1119:                      dlfiles="$dlfiles $pic_object"
        !          1120:                      prev=
        !          1121:                      continue
        !          1122:                    else
        !          1123:                      # If libtool objects are unsupported, then we need to preload.
        !          1124:                      prev=dlprefiles
        !          1125:                    fi
        !          1126:                  fi
        !          1127: 
        !          1128:                  # CHECK ME:  I think I busted this.  -Ossama
        !          1129:                  if test "$prev" = dlprefiles; then
        !          1130:                    # Preload the old-style object.
        !          1131:                    dlprefiles="$dlprefiles $pic_object"
        !          1132:                    prev=
        !          1133:                  fi
        !          1134: 
        !          1135:                  # A PIC object.
        !          1136:                  libobjs="$libobjs $pic_object"
        !          1137:                  arg="$pic_object"
        !          1138:                fi
        !          1139: 
        !          1140:                # Non-PIC object.
        !          1141:                if test "$non_pic_object" != none; then
        !          1142:                  # Prepend the subdirectory the object is found in.
        !          1143:                  non_pic_object="$xdir$non_pic_object"
        !          1144: 
        !          1145:                  # A standard non-PIC object
        !          1146:                  non_pic_objects="$non_pic_objects $non_pic_object"
        !          1147:                  if test -z "$pic_object" || test "$pic_object" = none ; then
        !          1148:                    arg="$non_pic_object"
        !          1149:                  fi
        !          1150:                fi
        !          1151:              else
        !          1152:                # Only an error if not doing a dry-run.
        !          1153:                if test -z "$run"; then
        !          1154:                  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
        !          1155:                  exit $EXIT_FAILURE
        !          1156:                else
        !          1157:                  # Dry-run case.
        !          1158: 
        !          1159:                  # Extract subdirectory from the argument.
        !          1160:                  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
        !          1161:                  if test "X$xdir" = "X$arg"; then
        !          1162:                    xdir=
        !          1163:                  else
        !          1164:                    xdir="$xdir/"
        !          1165:                  fi
        !          1166: 
        !          1167:                  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
        !          1168:                  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
        !          1169:                  libobjs="$libobjs $pic_object"
        !          1170:                  non_pic_objects="$non_pic_objects $non_pic_object"
        !          1171:                fi
        !          1172:              fi
        !          1173:            done
        !          1174:          else
        !          1175:            $echo "$modename: link input file \`$save_arg' does not exist"
        !          1176:            exit $EXIT_FAILURE
        !          1177:          fi
        !          1178:          arg=$save_arg
        !          1179:          prev=
        !          1180:          continue
        !          1181:          ;;
1.5       frystyk  1182:        rpath | xrpath)
                   1183:          # We need an absolute path.
1.11      kahan    1184:          case $arg in
1.5       frystyk  1185:          [\\/]* | [A-Za-z]:[\\/]*) ;;
                   1186:          *)
                   1187:            $echo "$modename: only absolute run-paths are allowed" 1>&2
1.12    ! vbancrof 1188:            exit $EXIT_FAILURE
1.5       frystyk  1189:            ;;
                   1190:          esac
                   1191:          if test "$prev" = rpath; then
                   1192:            case "$rpath " in
                   1193:            *" $arg "*) ;;
                   1194:            *) rpath="$rpath $arg" ;;
                   1195:            esac
                   1196:          else
                   1197:            case "$xrpath " in
                   1198:            *" $arg "*) ;;
                   1199:            *) xrpath="$xrpath $arg" ;;
                   1200:            esac
                   1201:          fi
1.4       frystyk  1202:          prev=
                   1203:          continue
                   1204:          ;;
1.11      kahan    1205:        xcompiler)
                   1206:          compiler_flags="$compiler_flags $qarg"
                   1207:          prev=
                   1208:          compile_command="$compile_command $qarg"
                   1209:          finalize_command="$finalize_command $qarg"
                   1210:          continue
                   1211:          ;;
                   1212:        xlinker)
                   1213:          linker_flags="$linker_flags $qarg"
                   1214:          compiler_flags="$compiler_flags $wl$qarg"
                   1215:          prev=
                   1216:          compile_command="$compile_command $wl$qarg"
                   1217:          finalize_command="$finalize_command $wl$qarg"
                   1218:          continue
                   1219:          ;;
1.12    ! vbancrof 1220:        xcclinker)
        !          1221:          linker_flags="$linker_flags $qarg"
        !          1222:          compiler_flags="$compiler_flags $qarg"
        !          1223:          prev=
        !          1224:          compile_command="$compile_command $qarg"
        !          1225:          finalize_command="$finalize_command $qarg"
        !          1226:          continue
        !          1227:          ;;
        !          1228:        shrext)
        !          1229:          shrext_cmds="$arg"
        !          1230:          prev=
        !          1231:          continue
        !          1232:          ;;
1.4       frystyk  1233:        *)
                   1234:          eval "$prev=\"\$arg\""
1.2       frystyk  1235:          prev=
                   1236:          continue
1.1       frystyk  1237:          ;;
1.4       frystyk  1238:        esac
1.12    ! vbancrof 1239:       fi # test -n "$prev"
1.1       frystyk  1240: 
                   1241:       prevarg="$arg"
                   1242: 
1.11      kahan    1243:       case $arg in
1.2       frystyk  1244:       -all-static)
                   1245:        if test -n "$link_static_flag"; then
1.4       frystyk  1246:          compile_command="$compile_command $link_static_flag"
1.2       frystyk  1247:          finalize_command="$finalize_command $link_static_flag"
1.4       frystyk  1248:        fi
                   1249:        continue
1.2       frystyk  1250:        ;;
1.1       frystyk  1251: 
1.2       frystyk  1252:       -allow-undefined)
                   1253:        # FIXME: remove this flag sometime in the future.
                   1254:        $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1.1       frystyk  1255:        continue
                   1256:        ;;
                   1257: 
1.4       frystyk  1258:       -avoid-version)
                   1259:        avoid_version=yes
                   1260:        continue
                   1261:        ;;
                   1262: 
1.2       frystyk  1263:       -dlopen)
1.4       frystyk  1264:        prev=dlfiles
                   1265:        continue
                   1266:        ;;
1.2       frystyk  1267: 
                   1268:       -dlpreopen)
1.4       frystyk  1269:        prev=dlprefiles
                   1270:        continue
                   1271:        ;;
1.2       frystyk  1272: 
                   1273:       -export-dynamic)
1.5       frystyk  1274:        export_dynamic=yes
                   1275:        continue
1.4       frystyk  1276:        ;;
1.2       frystyk  1277: 
1.5       frystyk  1278:       -export-symbols | -export-symbols-regex)
                   1279:        if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1.11      kahan    1280:          $echo "$modename: more than one -exported-symbols argument is not allowed"
1.12    ! vbancrof 1281:          exit $EXIT_FAILURE
1.4       frystyk  1282:        fi
1.5       frystyk  1283:        if test "X$arg" = "X-export-symbols"; then
                   1284:          prev=expsyms
                   1285:        else
                   1286:          prev=expsyms_regex
                   1287:        fi
1.4       frystyk  1288:        continue
                   1289:        ;;
1.2       frystyk  1290: 
1.12    ! vbancrof 1291:       -inst-prefix-dir)
        !          1292:        prev=inst_prefix
        !          1293:        continue
        !          1294:        ;;
        !          1295: 
1.11      kahan    1296:       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
                   1297:       # so, if we see these flags be careful not to treat them like -L
                   1298:       -L[A-Z][A-Z]*:*)
                   1299:        case $with_gcc/$host in
1.12    ! vbancrof 1300:        no/*-*-irix* | /*-*-irix*)
1.11      kahan    1301:          compile_command="$compile_command $arg"
                   1302:          finalize_command="$finalize_command $arg"
                   1303:          ;;
                   1304:        esac
                   1305:        continue
                   1306:        ;;
                   1307: 
1.1       frystyk  1308:       -L*)
1.5       frystyk  1309:        dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
                   1310:        # We need an absolute path.
1.11      kahan    1311:        case $dir in
1.5       frystyk  1312:        [\\/]* | [A-Za-z]:[\\/]*) ;;
1.4       frystyk  1313:        *)
1.5       frystyk  1314:          absdir=`cd "$dir" && pwd`
                   1315:          if test -z "$absdir"; then
1.11      kahan    1316:            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1.12    ! vbancrof 1317:            exit $EXIT_FAILURE
1.5       frystyk  1318:          fi
                   1319:          dir="$absdir"
1.4       frystyk  1320:          ;;
                   1321:        esac
1.11      kahan    1322:        case "$deplibs " in
                   1323:        *" -L$dir "*) ;;
                   1324:        *)
                   1325:          deplibs="$deplibs -L$dir"
                   1326:          lib_search_path="$lib_search_path $dir"
                   1327:          ;;
1.10      kahan    1328:        esac
1.11      kahan    1329:        case $host in
                   1330:        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
                   1331:          case :$dllsearchpath: in
                   1332:          *":$dir:"*) ;;
                   1333:          *) dllsearchpath="$dllsearchpath:$dir";;
1.5       frystyk  1334:          esac
1.4       frystyk  1335:          ;;
                   1336:        esac
1.11      kahan    1337:        continue
1.4       frystyk  1338:        ;;
1.1       frystyk  1339: 
1.4       frystyk  1340:       -l*)
1.11      kahan    1341:        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
                   1342:          case $host in
                   1343:          *-*-cygwin* | *-*-pw32* | *-*-beos*)
                   1344:            # These systems don't actually have a C or math library (as such)
1.5       frystyk  1345:            continue
                   1346:            ;;
1.11      kahan    1347:          *-*-mingw* | *-*-os2*)
                   1348:            # These systems don't actually have a C library (as such)
                   1349:            test "X$arg" = "X-lc" && continue
                   1350:            ;;
                   1351:          *-*-openbsd* | *-*-freebsd*)
                   1352:            # Do not include libc due to us having libc/libc_r.
                   1353:            test "X$arg" = "X-lc" && continue
                   1354:            ;;
1.12    ! vbancrof 1355:          *-*-rhapsody* | *-*-darwin1.[012])
        !          1356:            # Rhapsody C and math libraries are in the System framework
        !          1357:            deplibs="$deplibs -framework System"
        !          1358:            continue
1.5       frystyk  1359:          esac
1.12    ! vbancrof 1360:        elif test "X$arg" = "X-lc_r"; then
        !          1361:         case $host in
1.11      kahan    1362:         *-*-openbsd* | *-*-freebsd*)
1.12    ! vbancrof 1363:           # Do not include libc_r directly, use -pthread flag.
        !          1364:           continue
        !          1365:           ;;
        !          1366:         esac
1.5       frystyk  1367:        fi
1.4       frystyk  1368:        deplibs="$deplibs $arg"
1.11      kahan    1369:        continue
1.4       frystyk  1370:        ;;
1.1       frystyk  1371: 
1.12    ! vbancrof 1372:      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
        !          1373:        deplibs="$deplibs $arg"
        !          1374:        continue
        !          1375:        ;;
        !          1376: 
1.4       frystyk  1377:       -module)
1.5       frystyk  1378:        module=yes
                   1379:        continue
1.4       frystyk  1380:        ;;
1.5       frystyk  1381: 
1.12    ! vbancrof 1382:       # gcc -m* arguments should be passed to the linker via $compiler_flags
        !          1383:       # in order to pass architecture information to the linker
        !          1384:       # (e.g. 32 vs 64-bit).  This may also be accomplished via -Wl,-mfoo
        !          1385:       # but this is not reliable with gcc because gcc may use -mfoo to
        !          1386:       # select a different linker, different libraries, etc, while
        !          1387:       # -Wl,-mfoo simply passes -mfoo to the linker.
        !          1388:       -m*)
        !          1389:        # Unknown arguments in both finalize_command and compile_command need
        !          1390:        # to be aesthetically quoted because they are evaled later.
        !          1391:        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        !          1392:        case $arg in
        !          1393:        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
        !          1394:          arg="\"$arg\""
        !          1395:          ;;
        !          1396:        esac
        !          1397:         compile_command="$compile_command $arg"
        !          1398:         finalize_command="$finalize_command $arg"
        !          1399:         if test "$with_gcc" = "yes" ; then
        !          1400:           compiler_flags="$compiler_flags $arg"
        !          1401:         fi
        !          1402:         continue
        !          1403:         ;;
        !          1404: 
        !          1405:       -shrext)
        !          1406:        prev=shrext
        !          1407:        continue
        !          1408:        ;;
        !          1409: 
1.11      kahan    1410:       -no-fast-install)
                   1411:        fast_install=no
                   1412:        continue
                   1413:        ;;
                   1414: 
                   1415:       -no-install)
                   1416:        case $host in
                   1417:        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
                   1418:          # The PATH hackery in wrapper scripts is required on Windows
                   1419:          # in order for the loader to find any dlls it needs.
                   1420:          $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
                   1421:          $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
                   1422:          fast_install=no
                   1423:          ;;
                   1424:        *) no_install=yes ;;
                   1425:        esac
                   1426:        continue
                   1427:        ;;
                   1428: 
1.2       frystyk  1429:       -no-undefined)
                   1430:        allow_undefined=no
                   1431:        continue
                   1432:        ;;
                   1433: 
1.12    ! vbancrof 1434:       -objectlist)
        !          1435:        prev=objectlist
        !          1436:        continue
        !          1437:        ;;
        !          1438: 
1.1       frystyk  1439:       -o) prev=output ;;
                   1440: 
1.12    ! vbancrof 1441:       -precious-files-regex)
        !          1442:        prev=precious_regex
        !          1443:        continue
        !          1444:        ;;
        !          1445: 
1.2       frystyk  1446:       -release)
                   1447:        prev=release
1.1       frystyk  1448:        continue
                   1449:        ;;
                   1450: 
1.2       frystyk  1451:       -rpath)
1.4       frystyk  1452:        prev=rpath
                   1453:        continue
                   1454:        ;;
                   1455: 
                   1456:       -R)
                   1457:        prev=xrpath
                   1458:        continue
                   1459:        ;;
                   1460: 
                   1461:       -R*)
1.5       frystyk  1462:        dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
                   1463:        # We need an absolute path.
1.11      kahan    1464:        case $dir in
1.5       frystyk  1465:        [\\/]* | [A-Za-z]:[\\/]*) ;;
                   1466:        *)
                   1467:          $echo "$modename: only absolute run-paths are allowed" 1>&2
1.12    ! vbancrof 1468:          exit $EXIT_FAILURE
1.5       frystyk  1469:          ;;
                   1470:        esac
                   1471:        case "$xrpath " in
                   1472:        *" $dir "*) ;;
                   1473:        *) xrpath="$xrpath $dir" ;;
                   1474:        esac
1.4       frystyk  1475:        continue
                   1476:        ;;
1.2       frystyk  1477: 
1.1       frystyk  1478:       -static)
1.11      kahan    1479:        # The effects of -static are defined in a previous loop.
                   1480:        # We used to do the same as -all-static on platforms that
                   1481:        # didn't have a PIC flag, but the assumption that the effects
                   1482:        # would be equivalent was wrong.  It would break on at least
                   1483:        # Digital Unix and AIX.
1.1       frystyk  1484:        continue
                   1485:        ;;
                   1486: 
1.5       frystyk  1487:       -thread-safe)
                   1488:        thread_safe=yes
                   1489:        continue
                   1490:        ;;
                   1491: 
1.1       frystyk  1492:       -version-info)
1.4       frystyk  1493:        prev=vinfo
                   1494:        continue
                   1495:        ;;
1.12    ! vbancrof 1496:       -version-number)
        !          1497:        prev=vinfo
        !          1498:        vinfo_number=yes
        !          1499:        continue
        !          1500:        ;;
1.1       frystyk  1501: 
1.11      kahan    1502:       -Wc,*)
                   1503:        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
                   1504:        arg=
                   1505:        save_ifs="$IFS"; IFS=','
                   1506:        for flag in $args; do
                   1507:          IFS="$save_ifs"
                   1508:          case $flag in
                   1509:            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
                   1510:            flag="\"$flag\""
                   1511:            ;;
                   1512:          esac
                   1513:          arg="$arg $wl$flag"
                   1514:          compiler_flags="$compiler_flags $flag"
                   1515:        done
                   1516:        IFS="$save_ifs"
                   1517:        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
                   1518:        ;;
                   1519: 
                   1520:       -Wl,*)
                   1521:        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
                   1522:        arg=
                   1523:        save_ifs="$IFS"; IFS=','
                   1524:        for flag in $args; do
                   1525:          IFS="$save_ifs"
                   1526:          case $flag in
                   1527:            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
                   1528:            flag="\"$flag\""
                   1529:            ;;
                   1530:          esac
                   1531:          arg="$arg $wl$flag"
                   1532:          compiler_flags="$compiler_flags $wl$flag"
                   1533:          linker_flags="$linker_flags $flag"
                   1534:        done
                   1535:        IFS="$save_ifs"
                   1536:        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
                   1537:        ;;
                   1538: 
                   1539:       -Xcompiler)
                   1540:        prev=xcompiler
                   1541:        continue
                   1542:        ;;
                   1543: 
                   1544:       -Xlinker)
                   1545:        prev=xlinker
                   1546:        continue
                   1547:        ;;
                   1548: 
1.12    ! vbancrof 1549:       -XCClinker)
        !          1550:        prev=xcclinker
        !          1551:        continue
        !          1552:        ;;
        !          1553: 
1.2       frystyk  1554:       # Some other compiler flag.
                   1555:       -* | +*)
                   1556:        # Unknown arguments in both finalize_command and compile_command need
                   1557:        # to be aesthetically quoted because they are evaled later.
                   1558:        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.11      kahan    1559:        case $arg in
                   1560:        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
1.2       frystyk  1561:          arg="\"$arg\""
                   1562:          ;;
                   1563:        esac
1.4       frystyk  1564:        ;;
1.1       frystyk  1565: 
1.12    ! vbancrof 1566:       *.$objext)
        !          1567:        # A standard object.
        !          1568:        objs="$objs $arg"
        !          1569:        ;;
        !          1570: 
        !          1571:       *.lo)
        !          1572:        # A libtool-controlled object.
        !          1573: 
        !          1574:        # Check to see that this really is a libtool object.
        !          1575:        if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
        !          1576:          pic_object=
        !          1577:          non_pic_object=
        !          1578: 
        !          1579:          # Read the .lo file
        !          1580:          # If there is no directory component, then add one.
        !          1581:          case $arg in
        !          1582:          */* | *\\*) . $arg ;;
        !          1583:          *) . ./$arg ;;
        !          1584:          esac
        !          1585: 
        !          1586:          if test -z "$pic_object" || \
        !          1587:             test -z "$non_pic_object" ||
        !          1588:             test "$pic_object" = none && \
        !          1589:             test "$non_pic_object" = none; then
        !          1590:            $echo "$modename: cannot find name of object for \`$arg'" 1>&2
        !          1591:            exit $EXIT_FAILURE
        !          1592:          fi
        !          1593: 
        !          1594:          # Extract subdirectory from the argument.
        !          1595:          xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
        !          1596:          if test "X$xdir" = "X$arg"; then
        !          1597:            xdir=
        !          1598:          else
        !          1599:            xdir="$xdir/"
        !          1600:          fi
        !          1601: 
        !          1602:          if test "$pic_object" != none; then
        !          1603:            # Prepend the subdirectory the object is found in.
        !          1604:            pic_object="$xdir$pic_object"
        !          1605: 
        !          1606:            if test "$prev" = dlfiles; then
        !          1607:              if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
        !          1608:                dlfiles="$dlfiles $pic_object"
        !          1609:                prev=
        !          1610:                continue
        !          1611:              else
        !          1612:                # If libtool objects are unsupported, then we need to preload.
        !          1613:                prev=dlprefiles
        !          1614:              fi
        !          1615:            fi
        !          1616: 
        !          1617:            # CHECK ME:  I think I busted this.  -Ossama
        !          1618:            if test "$prev" = dlprefiles; then
        !          1619:              # Preload the old-style object.
        !          1620:              dlprefiles="$dlprefiles $pic_object"
        !          1621:              prev=
        !          1622:            fi
        !          1623: 
        !          1624:            # A PIC object.
        !          1625:            libobjs="$libobjs $pic_object"
        !          1626:            arg="$pic_object"
1.2       frystyk  1627:          fi
1.1       frystyk  1628: 
1.12    ! vbancrof 1629:          # Non-PIC object.
        !          1630:          if test "$non_pic_object" != none; then
        !          1631:            # Prepend the subdirectory the object is found in.
        !          1632:            non_pic_object="$xdir$non_pic_object"
        !          1633: 
        !          1634:            # A standard non-PIC object
        !          1635:            non_pic_objects="$non_pic_objects $non_pic_object"
        !          1636:            if test -z "$pic_object" || test "$pic_object" = none ; then
        !          1637:              arg="$non_pic_object"
        !          1638:            fi
        !          1639:          fi
1.11      kahan    1640:        else
1.12    ! vbancrof 1641:          # Only an error if not doing a dry-run.
        !          1642:          if test -z "$run"; then
        !          1643:            $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
        !          1644:            exit $EXIT_FAILURE
        !          1645:          else
        !          1646:            # Dry-run case.
        !          1647: 
        !          1648:            # Extract subdirectory from the argument.
        !          1649:            xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
        !          1650:            if test "X$xdir" = "X$arg"; then
        !          1651:              xdir=
        !          1652:            else
        !          1653:              xdir="$xdir/"
        !          1654:            fi
        !          1655: 
        !          1656:            pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
        !          1657:            non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
        !          1658:            libobjs="$libobjs $pic_object"
        !          1659:            non_pic_objects="$non_pic_objects $non_pic_object"
        !          1660:          fi
1.1       frystyk  1661:        fi
1.11      kahan    1662:        ;;
                   1663: 
                   1664:       *.$libext)
                   1665:        # An archive.
                   1666:        deplibs="$deplibs $arg"
                   1667:        old_deplibs="$old_deplibs $arg"
                   1668:        continue
1.4       frystyk  1669:        ;;
1.1       frystyk  1670: 
1.2       frystyk  1671:       *.la)
1.4       frystyk  1672:        # A libtool-controlled library.
1.1       frystyk  1673: 
1.11      kahan    1674:        if test "$prev" = dlfiles; then
                   1675:          # This library was specified with -dlopen.
                   1676:          dlfiles="$dlfiles $arg"
                   1677:          prev=
                   1678:        elif test "$prev" = dlprefiles; then
                   1679:          # The library was specified with -dlpreopen.
                   1680:          dlprefiles="$dlprefiles $arg"
                   1681:          prev=
1.4       frystyk  1682:        else
1.11      kahan    1683:          deplibs="$deplibs $arg"
1.4       frystyk  1684:        fi
1.11      kahan    1685:        continue
                   1686:        ;;
1.4       frystyk  1687: 
1.11      kahan    1688:       # Some other compiler argument.
                   1689:       *)
                   1690:        # Unknown arguments in both finalize_command and compile_command need
                   1691:        # to be aesthetically quoted because they are evaled later.
                   1692:        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
                   1693:        case $arg in
                   1694:        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
                   1695:          arg="\"$arg\""
                   1696:          ;;
                   1697:        esac
                   1698:        ;;
                   1699:       esac # arg
1.10      kahan    1700: 
1.11      kahan    1701:       # Now actually substitute the argument into the commands.
                   1702:       if test -n "$arg"; then
                   1703:        compile_command="$compile_command $arg"
                   1704:        finalize_command="$finalize_command $arg"
                   1705:       fi
                   1706:     done # argument parsing loop
1.4       frystyk  1707: 
1.11      kahan    1708:     if test -n "$prev"; then
                   1709:       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
                   1710:       $echo "$help" 1>&2
1.12    ! vbancrof 1711:       exit $EXIT_FAILURE
1.11      kahan    1712:     fi
1.10      kahan    1713: 
1.11      kahan    1714:     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
                   1715:       eval arg=\"$export_dynamic_flag_spec\"
                   1716:       compile_command="$compile_command $arg"
                   1717:       finalize_command="$finalize_command $arg"
                   1718:     fi
1.10      kahan    1719: 
1.12    ! vbancrof 1720:     oldlibs=
1.11      kahan    1721:     # calculate the name of the file, without its directory
                   1722:     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
                   1723:     libobjs_save="$libobjs"
1.10      kahan    1724: 
1.11      kahan    1725:     if test -n "$shlibpath_var"; then
                   1726:       # get the directories listed in $shlibpath_var
                   1727:       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
                   1728:     else
                   1729:       shlib_search_path=
                   1730:     fi
                   1731:     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
                   1732:     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
1.4       frystyk  1733: 
1.11      kahan    1734:     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
                   1735:     if test "X$output_objdir" = "X$output"; then
                   1736:       output_objdir="$objdir"
                   1737:     else
                   1738:       output_objdir="$output_objdir/$objdir"
                   1739:     fi
                   1740:     # Create the object directory.
1.12    ! vbancrof 1741:     if test ! -d "$output_objdir"; then
1.11      kahan    1742:       $show "$mkdir $output_objdir"
                   1743:       $run $mkdir $output_objdir
                   1744:       status=$?
1.12    ! vbancrof 1745:       if test "$status" -ne 0 && test ! -d "$output_objdir"; then
1.11      kahan    1746:        exit $status
                   1747:       fi
                   1748:     fi
1.4       frystyk  1749: 
1.11      kahan    1750:     # Determine the type of output
                   1751:     case $output in
                   1752:     "")
                   1753:       $echo "$modename: you must specify an output file" 1>&2
                   1754:       $echo "$help" 1>&2
1.12    ! vbancrof 1755:       exit $EXIT_FAILURE
1.11      kahan    1756:       ;;
                   1757:     *.$libext) linkmode=oldlib ;;
                   1758:     *.lo | *.$objext) linkmode=obj ;;
                   1759:     *.la) linkmode=lib ;;
                   1760:     *) linkmode=prog ;; # Anything else should be a program.
                   1761:     esac
1.4       frystyk  1762: 
1.12    ! vbancrof 1763:     case $host in
        !          1764:     *cygwin* | *mingw* | *pw32*)
        !          1765:       # don't eliminate duplications in $postdeps and $predeps
        !          1766:       duplicate_compiler_generated_deps=yes
        !          1767:       ;;
        !          1768:     *)
        !          1769:       duplicate_compiler_generated_deps=$duplicate_deps
        !          1770:       ;;
        !          1771:     esac
1.11      kahan    1772:     specialdeplibs=
1.12    ! vbancrof 1773: 
1.11      kahan    1774:     libs=
                   1775:     # Find all interdependent deplibs by searching for libraries
                   1776:     # that are linked more than once (e.g. -la -lb -la)
                   1777:     for deplib in $deplibs; do
                   1778:       if test "X$duplicate_deps" = "Xyes" ; then
                   1779:        case "$libs " in
                   1780:        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                   1781:        esac
                   1782:       fi
                   1783:       libs="$libs $deplib"
                   1784:     done
1.12    ! vbancrof 1785: 
        !          1786:     if test "$linkmode" = lib; then
        !          1787:       libs="$predeps $libs $compiler_lib_search_path $postdeps"
        !          1788: 
        !          1789:       # Compute libraries that are listed more than once in $predeps
        !          1790:       # $postdeps and mark them as special (i.e., whose duplicates are
        !          1791:       # not to be eliminated).
        !          1792:       pre_post_deps=
        !          1793:       if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
        !          1794:        for pre_post_dep in $predeps $postdeps; do
        !          1795:          case "$pre_post_deps " in
        !          1796:          *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
        !          1797:          esac
        !          1798:          pre_post_deps="$pre_post_deps $pre_post_dep"
        !          1799:        done
        !          1800:       fi
        !          1801:       pre_post_deps=
        !          1802:     fi
        !          1803: 
1.11      kahan    1804:     deplibs=
                   1805:     newdependency_libs=
                   1806:     newlib_search_path=
                   1807:     need_relink=no # whether we're linking any uninstalled libtool libraries
                   1808:     notinst_deplibs= # not-installed libtool libraries
                   1809:     notinst_path= # paths that contain not-installed libtool libraries
                   1810:     case $linkmode in
                   1811:     lib)
                   1812:        passes="conv link"
                   1813:        for file in $dlfiles $dlprefiles; do
                   1814:          case $file in
                   1815:          *.la) ;;
                   1816:          *)
                   1817:            $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
1.12    ! vbancrof 1818:            exit $EXIT_FAILURE
1.11      kahan    1819:            ;;
                   1820:          esac
                   1821:        done
                   1822:        ;;
                   1823:     prog)
                   1824:        compile_deplibs=
                   1825:        finalize_deplibs=
                   1826:        alldeplibs=no
                   1827:        newdlfiles=
                   1828:        newdlprefiles=
                   1829:        passes="conv scan dlopen dlpreopen link"
                   1830:        ;;
                   1831:     *)  passes="conv"
                   1832:        ;;
                   1833:     esac
                   1834:     for pass in $passes; do
1.12    ! vbancrof 1835:       if test "$linkmode,$pass" = "lib,link" ||
        !          1836:         test "$linkmode,$pass" = "prog,scan"; then
        !          1837:        libs="$deplibs"
        !          1838:        deplibs=
        !          1839:       fi
        !          1840:       if test "$linkmode" = prog; then
1.11      kahan    1841:        case $pass in
1.12    ! vbancrof 1842:        dlopen) libs="$dlfiles" ;;
1.11      kahan    1843:        dlpreopen) libs="$dlprefiles" ;;
                   1844:        link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
                   1845:        esac
                   1846:       fi
1.12    ! vbancrof 1847:       if test "$pass" = dlopen; then
        !          1848:        # Collect dlpreopened libraries
        !          1849:        save_deplibs="$deplibs"
        !          1850:        deplibs=
        !          1851:       fi
1.11      kahan    1852:       for deplib in $libs; do
                   1853:        lib=
                   1854:        found=no
                   1855:        case $deplib in
1.12    ! vbancrof 1856:        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
        !          1857:          if test "$linkmode,$pass" = "prog,link"; then
        !          1858:            compile_deplibs="$deplib $compile_deplibs"
        !          1859:            finalize_deplibs="$deplib $finalize_deplibs"
        !          1860:          else
        !          1861:            deplibs="$deplib $deplibs"
        !          1862:          fi
        !          1863:          continue
        !          1864:          ;;
1.11      kahan    1865:        -l*)
1.12    ! vbancrof 1866:          if test "$linkmode" != lib && test "$linkmode" != prog; then
        !          1867:            $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
1.10      kahan    1868:            continue
                   1869:          fi
1.12    ! vbancrof 1870:          if test "$pass" = conv; then
1.11      kahan    1871:            deplibs="$deplib $deplibs"
                   1872:            continue
1.10      kahan    1873:          fi
1.11      kahan    1874:          name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
                   1875:          for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
1.12    ! vbancrof 1876:            for search_ext in .la $std_shrext .so .a; do
        !          1877:              # Search the libtool library
        !          1878:              lib="$searchdir/lib${name}${search_ext}"
        !          1879:              if test -f "$lib"; then
        !          1880:                if test "$search_ext" = ".la"; then
        !          1881:                  found=yes
        !          1882:                else
        !          1883:                  found=no
        !          1884:                fi
        !          1885:                break 2
        !          1886:              fi
        !          1887:            done
1.11      kahan    1888:          done
                   1889:          if test "$found" != yes; then
                   1890:            # deplib doesn't seem to be a libtool library
                   1891:            if test "$linkmode,$pass" = "prog,link"; then
                   1892:              compile_deplibs="$deplib $compile_deplibs"
                   1893:              finalize_deplibs="$deplib $finalize_deplibs"
                   1894:            else
                   1895:              deplibs="$deplib $deplibs"
1.12    ! vbancrof 1896:              test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
1.11      kahan    1897:            fi
                   1898:            continue
1.12    ! vbancrof 1899:          else # deplib is a libtool library
        !          1900:            # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
        !          1901:            # We need to do some special things here, and not later.
        !          1902:            if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          1903:              case " $predeps $postdeps " in
        !          1904:              *" $deplib "*)
        !          1905:                if (${SED} -e '2q' $lib |
        !          1906:                     grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
        !          1907:                  library_names=
        !          1908:                  old_library=
        !          1909:                  case $lib in
        !          1910:                  */* | *\\*) . $lib ;;
        !          1911:                  *) . ./$lib ;;
        !          1912:                  esac
        !          1913:                  for l in $old_library $library_names; do
        !          1914:                    ll="$l"
        !          1915:                  done
        !          1916:                  if test "X$ll" = "X$old_library" ; then # only static version available
        !          1917:                    found=no
        !          1918:                    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
        !          1919:                    test "X$ladir" = "X$lib" && ladir="."
        !          1920:                    lib=$ladir/$old_library
        !          1921:                    if test "$linkmode,$pass" = "prog,link"; then
        !          1922:                      compile_deplibs="$deplib $compile_deplibs"
        !          1923:                      finalize_deplibs="$deplib $finalize_deplibs"
        !          1924:                    else
        !          1925:                      deplibs="$deplib $deplibs"
        !          1926:                      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
        !          1927:                    fi
        !          1928:                    continue
        !          1929:                  fi
        !          1930:                fi
        !          1931:                ;;
        !          1932:              *) ;;
        !          1933:              esac
        !          1934:            fi
1.10      kahan    1935:          fi
1.11      kahan    1936:          ;; # -l
                   1937:        -L*)
                   1938:          case $linkmode in
                   1939:          lib)
                   1940:            deplibs="$deplib $deplibs"
1.12    ! vbancrof 1941:            test "$pass" = conv && continue
1.11      kahan    1942:            newdependency_libs="$deplib $newdependency_libs"
                   1943:            newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
                   1944:            ;;
                   1945:          prog)
1.12    ! vbancrof 1946:            if test "$pass" = conv; then
1.11      kahan    1947:              deplibs="$deplib $deplibs"
                   1948:              continue
                   1949:            fi
1.12    ! vbancrof 1950:            if test "$pass" = scan; then
1.11      kahan    1951:              deplibs="$deplib $deplibs"
                   1952:            else
                   1953:              compile_deplibs="$deplib $compile_deplibs"
                   1954:              finalize_deplibs="$deplib $finalize_deplibs"
1.10      kahan    1955:            fi
1.12    ! vbancrof 1956:            newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1.10      kahan    1957:            ;;
                   1958:          *)
1.12    ! vbancrof 1959:            $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
1.11      kahan    1960:            ;;
                   1961:          esac # linkmode
                   1962:          continue
                   1963:          ;; # -L
                   1964:        -R*)
1.12    ! vbancrof 1965:          if test "$pass" = link; then
1.11      kahan    1966:            dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
                   1967:            # Make sure the xrpath contains only unique directories.
                   1968:            case "$xrpath " in
                   1969:            *" $dir "*) ;;
                   1970:            *) xrpath="$xrpath $dir" ;;
1.10      kahan    1971:            esac
1.11      kahan    1972:          fi
                   1973:          deplibs="$deplib $deplibs"
                   1974:          continue
                   1975:          ;;
                   1976:        *.la) lib="$deplib" ;;
                   1977:        *.$libext)
1.12    ! vbancrof 1978:          if test "$pass" = conv; then
1.11      kahan    1979:            deplibs="$deplib $deplibs"
                   1980:            continue
                   1981:          fi
                   1982:          case $linkmode in
                   1983:          lib)
                   1984:            if test "$deplibs_check_method" != pass_all; then
1.12    ! vbancrof 1985:              $echo
        !          1986:              $echo "*** Warning: Trying to link with static lib archive $deplib."
        !          1987:              $echo "*** I have the capability to make that library automatically link in when"
        !          1988:              $echo "*** you link to this library.  But I can only do this if you have a"
        !          1989:              $echo "*** shared version of the library, which you do not appear to have"
        !          1990:              $echo "*** because the file extensions .$libext of this argument makes me believe"
        !          1991:              $echo "*** that it is just a static archive that I should not used here."
1.11      kahan    1992:            else
1.12    ! vbancrof 1993:              $echo
        !          1994:              $echo "*** Warning: Linking the shared library $output against the"
        !          1995:              $echo "*** static library $deplib is not portable!"
1.11      kahan    1996:              deplibs="$deplib $deplibs"
                   1997:            fi
                   1998:            continue
                   1999:            ;;
                   2000:          prog)
1.12    ! vbancrof 2001:            if test "$pass" != link; then
1.11      kahan    2002:              deplibs="$deplib $deplibs"
                   2003:            else
                   2004:              compile_deplibs="$deplib $compile_deplibs"
                   2005:              finalize_deplibs="$deplib $finalize_deplibs"
                   2006:            fi
                   2007:            continue
1.10      kahan    2008:            ;;
1.11      kahan    2009:          esac # linkmode
                   2010:          ;; # *.$libext
                   2011:        *.lo | *.$objext)
1.12    ! vbancrof 2012:          if test "$pass" = conv; then
        !          2013:            deplibs="$deplib $deplibs"
        !          2014:          elif test "$linkmode" = prog; then
        !          2015:            if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
        !          2016:              # If there is no dlopen support or we're linking statically,
        !          2017:              # we need to preload.
        !          2018:              newdlprefiles="$newdlprefiles $deplib"
        !          2019:              compile_deplibs="$deplib $compile_deplibs"
        !          2020:              finalize_deplibs="$deplib $finalize_deplibs"
        !          2021:            else
        !          2022:              newdlfiles="$newdlfiles $deplib"
        !          2023:            fi
1.11      kahan    2024:          fi
                   2025:          continue
                   2026:          ;;
                   2027:        %DEPLIBS%)
                   2028:          alldeplibs=yes
                   2029:          continue
                   2030:          ;;
                   2031:        esac # case $deplib
1.12    ! vbancrof 2032:        if test "$found" = yes || test -f "$lib"; then :
1.11      kahan    2033:        else
                   2034:          $echo "$modename: cannot find the library \`$lib'" 1>&2
1.12    ! vbancrof 2035:          exit $EXIT_FAILURE
1.11      kahan    2036:        fi
                   2037: 
                   2038:        # Check to see that this really is a libtool archive.
1.12    ! vbancrof 2039:        if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.11      kahan    2040:        else
                   2041:          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.12    ! vbancrof 2042:          exit $EXIT_FAILURE
1.11      kahan    2043:        fi
                   2044: 
                   2045:        ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
                   2046:        test "X$ladir" = "X$lib" && ladir="."
                   2047: 
                   2048:        dlname=
                   2049:        dlopen=
                   2050:        dlpreopen=
                   2051:        libdir=
                   2052:        library_names=
                   2053:        old_library=
                   2054:        # If the library was installed with an old release of libtool,
1.12    ! vbancrof 2055:        # it will not redefine variables installed, or shouldnotlink
1.11      kahan    2056:        installed=yes
1.12    ! vbancrof 2057:        shouldnotlink=no
1.11      kahan    2058: 
                   2059:        # Read the .la file
                   2060:        case $lib in
                   2061:        */* | *\\*) . $lib ;;
                   2062:        *) . ./$lib ;;
                   2063:        esac
                   2064: 
                   2065:        if test "$linkmode,$pass" = "lib,link" ||
                   2066:           test "$linkmode,$pass" = "prog,scan" ||
1.12    ! vbancrof 2067:           { test "$linkmode" != prog && test "$linkmode" != lib; }; then
1.11      kahan    2068:          test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
                   2069:          test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
                   2070:        fi
                   2071: 
1.12    ! vbancrof 2072:        if test "$pass" = conv; then
1.11      kahan    2073:          # Only check for convenience libraries
                   2074:          deplibs="$lib $deplibs"
                   2075:          if test -z "$libdir"; then
                   2076:            if test -z "$old_library"; then
                   2077:              $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1.12    ! vbancrof 2078:              exit $EXIT_FAILURE
1.11      kahan    2079:            fi
                   2080:            # It is a libtool convenience library, so add in its objects.
                   2081:            convenience="$convenience $ladir/$objdir/$old_library"
                   2082:            old_convenience="$old_convenience $ladir/$objdir/$old_library"
                   2083:            tmp_libs=
                   2084:            for deplib in $dependency_libs; do
                   2085:              deplibs="$deplib $deplibs"
                   2086:               if test "X$duplicate_deps" = "Xyes" ; then
                   2087:                case "$tmp_libs " in
                   2088:                *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                   2089:                esac
                   2090:               fi
                   2091:              tmp_libs="$tmp_libs $deplib"
                   2092:            done
1.12    ! vbancrof 2093:          elif test "$linkmode" != prog && test "$linkmode" != lib; then
1.11      kahan    2094:            $echo "$modename: \`$lib' is not a convenience library" 1>&2
1.12    ! vbancrof 2095:            exit $EXIT_FAILURE
1.11      kahan    2096:          fi
                   2097:          continue
                   2098:        fi # $pass = conv
                   2099: 
1.12    ! vbancrof 2100: 
1.11      kahan    2101:        # Get the name of the library we link against.
                   2102:        linklib=
                   2103:        for l in $old_library $library_names; do
                   2104:          linklib="$l"
                   2105:        done
                   2106:        if test -z "$linklib"; then
                   2107:          $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1.12    ! vbancrof 2108:          exit $EXIT_FAILURE
1.11      kahan    2109:        fi
                   2110: 
                   2111:        # This library was specified with -dlopen.
1.12    ! vbancrof 2112:        if test "$pass" = dlopen; then
1.11      kahan    2113:          if test -z "$libdir"; then
                   2114:            $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
1.12    ! vbancrof 2115:            exit $EXIT_FAILURE
1.11      kahan    2116:          fi
1.12    ! vbancrof 2117:          if test -z "$dlname" ||
        !          2118:             test "$dlopen_support" != yes ||
        !          2119:             test "$build_libtool_libs" = no; then
1.11      kahan    2120:            # If there is no dlname, no dlopen support or we're linking
1.12    ! vbancrof 2121:            # statically, we need to preload.  We also need to preload any
        !          2122:            # dependent libraries so libltdl's deplib preloader doesn't
        !          2123:            # bomb out in the load deplibs phase.
        !          2124:            dlprefiles="$dlprefiles $lib $dependency_libs"
1.11      kahan    2125:          else
                   2126:            newdlfiles="$newdlfiles $lib"
                   2127:          fi
                   2128:          continue
                   2129:        fi # $pass = dlopen
                   2130: 
                   2131:        # We need an absolute path.
                   2132:        case $ladir in
                   2133:        [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
                   2134:        *)
                   2135:          abs_ladir=`cd "$ladir" && pwd`
                   2136:          if test -z "$abs_ladir"; then
                   2137:            $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
                   2138:            $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
                   2139:            abs_ladir="$ladir"
                   2140:          fi
                   2141:          ;;
                   2142:        esac
                   2143:        laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
                   2144: 
                   2145:        # Find the relevant object directory and library name.
                   2146:        if test "X$installed" = Xyes; then
                   2147:          if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
                   2148:            $echo "$modename: warning: library \`$lib' was moved." 1>&2
                   2149:            dir="$ladir"
                   2150:            absdir="$abs_ladir"
                   2151:            libdir="$abs_ladir"
                   2152:          else
                   2153:            dir="$libdir"
                   2154:            absdir="$libdir"
                   2155:          fi
                   2156:        else
                   2157:          dir="$ladir/$objdir"
                   2158:          absdir="$abs_ladir/$objdir"
                   2159:          # Remove this search path later
                   2160:          notinst_path="$notinst_path $abs_ladir"
                   2161:        fi # $installed = yes
                   2162:        name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
                   2163: 
                   2164:        # This library was specified with -dlpreopen.
1.12    ! vbancrof 2165:        if test "$pass" = dlpreopen; then
1.11      kahan    2166:          if test -z "$libdir"; then
                   2167:            $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
1.12    ! vbancrof 2168:            exit $EXIT_FAILURE
1.11      kahan    2169:          fi
                   2170:          # Prefer using a static library (so that no silly _DYNAMIC symbols
                   2171:          # are required to link).
                   2172:          if test -n "$old_library"; then
                   2173:            newdlprefiles="$newdlprefiles $dir/$old_library"
                   2174:          # Otherwise, use the dlname, so that lt_dlopen finds it.
                   2175:          elif test -n "$dlname"; then
                   2176:            newdlprefiles="$newdlprefiles $dir/$dlname"
                   2177:          else
                   2178:            newdlprefiles="$newdlprefiles $dir/$linklib"
                   2179:          fi
                   2180:        fi # $pass = dlpreopen
                   2181: 
                   2182:        if test -z "$libdir"; then
                   2183:          # Link the convenience library
1.12    ! vbancrof 2184:          if test "$linkmode" = lib; then
1.11      kahan    2185:            deplibs="$dir/$old_library $deplibs"
                   2186:          elif test "$linkmode,$pass" = "prog,link"; then
                   2187:            compile_deplibs="$dir/$old_library $compile_deplibs"
                   2188:            finalize_deplibs="$dir/$old_library $finalize_deplibs"
                   2189:          else
1.12    ! vbancrof 2190:            deplibs="$lib $deplibs" # used for prog,scan pass
1.11      kahan    2191:          fi
                   2192:          continue
                   2193:        fi
                   2194: 
1.12    ! vbancrof 2195: 
        !          2196:        if test "$linkmode" = prog && test "$pass" != link; then
1.11      kahan    2197:          newlib_search_path="$newlib_search_path $ladir"
                   2198:          deplibs="$lib $deplibs"
                   2199: 
                   2200:          linkalldeplibs=no
                   2201:          if test "$link_all_deplibs" != no || test -z "$library_names" ||
                   2202:             test "$build_libtool_libs" = no; then
                   2203:            linkalldeplibs=yes
                   2204:          fi
                   2205: 
                   2206:          tmp_libs=
                   2207:          for deplib in $dependency_libs; do
                   2208:            case $deplib in
                   2209:            -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
                   2210:            esac
                   2211:            # Need to link against all dependency_libs?
1.12    ! vbancrof 2212:            if test "$linkalldeplibs" = yes; then
1.11      kahan    2213:              deplibs="$deplib $deplibs"
                   2214:            else
                   2215:              # Need to hardcode shared library paths
                   2216:              # or/and link against static libraries
                   2217:              newdependency_libs="$deplib $newdependency_libs"
                   2218:            fi
                   2219:            if test "X$duplicate_deps" = "Xyes" ; then
                   2220:              case "$tmp_libs " in
                   2221:              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                   2222:              esac
                   2223:            fi
                   2224:            tmp_libs="$tmp_libs $deplib"
                   2225:          done # for deplib
                   2226:          continue
                   2227:        fi # $linkmode = prog...
                   2228: 
1.12    ! vbancrof 2229:        if test "$linkmode,$pass" = "prog,link"; then
        !          2230:          if test -n "$library_names" &&
        !          2231:             { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
        !          2232:            # We need to hardcode the library path
        !          2233:            if test -n "$shlibpath_var"; then
        !          2234:              # Make sure the rpath contains only unique directories.
        !          2235:              case "$temp_rpath " in
        !          2236:              *" $dir "*) ;;
        !          2237:              *" $absdir "*) ;;
        !          2238:              *) temp_rpath="$temp_rpath $dir" ;;
        !          2239:              esac
        !          2240:            fi
1.3       frystyk  2241: 
1.11      kahan    2242:            # Hardcode the library path.
                   2243:            # Skip directories that are in the system default run-time
                   2244:            # search path.
                   2245:            case " $sys_lib_dlsearch_path " in
                   2246:            *" $absdir "*) ;;
                   2247:            *)
                   2248:              case "$compile_rpath " in
                   2249:              *" $absdir "*) ;;
                   2250:              *) compile_rpath="$compile_rpath $absdir"
                   2251:              esac
                   2252:              ;;
                   2253:            esac
                   2254:            case " $sys_lib_dlsearch_path " in
1.10      kahan    2255:            *" $libdir "*) ;;
1.11      kahan    2256:            *)
                   2257:              case "$finalize_rpath " in
                   2258:              *" $libdir "*) ;;
                   2259:              *) finalize_rpath="$finalize_rpath $libdir"
                   2260:              esac
                   2261:              ;;
1.10      kahan    2262:            esac
1.11      kahan    2263:          fi # $linkmode,$pass = prog,link...
                   2264: 
                   2265:          if test "$alldeplibs" = yes &&
                   2266:             { test "$deplibs_check_method" = pass_all ||
                   2267:               { test "$build_libtool_libs" = yes &&
                   2268:                 test -n "$library_names"; }; }; then
                   2269:            # We only need to search for static libraries
                   2270:            continue
                   2271:          fi
1.12    ! vbancrof 2272:        fi
1.11      kahan    2273: 
1.12    ! vbancrof 2274:        link_static=no # Whether the deplib will be linked statically
        !          2275:        if test -n "$library_names" &&
        !          2276:           { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
1.11      kahan    2277:          if test "$installed" = no; then
                   2278:            notinst_deplibs="$notinst_deplibs $lib"
                   2279:            need_relink=yes
                   2280:          fi
1.12    ! vbancrof 2281:          # This is a shared library
        !          2282: 
        !          2283:          # Warn about portability, can't link against -module's on
        !          2284:          # some systems (darwin)
        !          2285:          if test "$shouldnotlink" = yes && test "$pass" = link ; then
        !          2286:            $echo
        !          2287:            if test "$linkmode" = prog; then
        !          2288:              $echo "*** Warning: Linking the executable $output against the loadable module"
        !          2289:            else
        !          2290:              $echo "*** Warning: Linking the shared library $output against the loadable module"
        !          2291:            fi
        !          2292:            $echo "*** $linklib is not portable!"
        !          2293:          fi
        !          2294:          if test "$linkmode" = lib &&
        !          2295:             test "$hardcode_into_libs" = yes; then
        !          2296:            # Hardcode the library path.
        !          2297:            # Skip directories that are in the system default run-time
        !          2298:            # search path.
        !          2299:            case " $sys_lib_dlsearch_path " in
        !          2300:            *" $absdir "*) ;;
        !          2301:            *)
        !          2302:              case "$compile_rpath " in
        !          2303:              *" $absdir "*) ;;
        !          2304:              *) compile_rpath="$compile_rpath $absdir"
        !          2305:              esac
        !          2306:              ;;
        !          2307:            esac
        !          2308:            case " $sys_lib_dlsearch_path " in
        !          2309:            *" $libdir "*) ;;
        !          2310:            *)
        !          2311:              case "$finalize_rpath " in
        !          2312:              *" $libdir "*) ;;
        !          2313:              *) finalize_rpath="$finalize_rpath $libdir"
        !          2314:              esac
        !          2315:              ;;
        !          2316:            esac
        !          2317:          fi
1.10      kahan    2318: 
1.11      kahan    2319:          if test -n "$old_archive_from_expsyms_cmds"; then
                   2320:            # figure out the soname
                   2321:            set dummy $library_names
                   2322:            realname="$2"
                   2323:            shift; shift
                   2324:            libname=`eval \\$echo \"$libname_spec\"`
                   2325:            # use dlname if we got it. it's perfectly good, no?
                   2326:            if test -n "$dlname"; then
                   2327:              soname="$dlname"
                   2328:            elif test -n "$soname_spec"; then
                   2329:              # bleh windows
                   2330:              case $host in
1.12    ! vbancrof 2331:              *cygwin* | mingw*)
1.11      kahan    2332:                major=`expr $current - $age`
                   2333:                versuffix="-$major"
1.10      kahan    2334:                ;;
                   2335:              esac
1.11      kahan    2336:              eval soname=\"$soname_spec\"
                   2337:            else
                   2338:              soname="$realname"
                   2339:            fi
                   2340: 
                   2341:            # Make a new name for the extract_expsyms_cmds to use
                   2342:            soroot="$soname"
1.12    ! vbancrof 2343:            soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
        !          2344:            newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
1.11      kahan    2345: 
                   2346:            # If the library has no export list, then create one now
                   2347:            if test -f "$output_objdir/$soname-def"; then :
                   2348:            else
                   2349:              $show "extracting exported symbol list from \`$soname'"
                   2350:              save_ifs="$IFS"; IFS='~'
1.12    ! vbancrof 2351:              cmds=$extract_expsyms_cmds
1.11      kahan    2352:              for cmd in $cmds; do
                   2353:                IFS="$save_ifs"
1.12    ! vbancrof 2354:                eval cmd=\"$cmd\"
1.11      kahan    2355:                $show "$cmd"
                   2356:                $run eval "$cmd" || exit $?
                   2357:              done
                   2358:              IFS="$save_ifs"
                   2359:            fi
                   2360: 
                   2361:            # Create $newlib
                   2362:            if test -f "$output_objdir/$newlib"; then :; else
                   2363:              $show "generating import library for \`$soname'"
                   2364:              save_ifs="$IFS"; IFS='~'
1.12    ! vbancrof 2365:              cmds=$old_archive_from_expsyms_cmds
1.11      kahan    2366:              for cmd in $cmds; do
                   2367:                IFS="$save_ifs"
1.12    ! vbancrof 2368:                eval cmd=\"$cmd\"
1.11      kahan    2369:                $show "$cmd"
                   2370:                $run eval "$cmd" || exit $?
                   2371:              done
                   2372:              IFS="$save_ifs"
                   2373:            fi
                   2374:            # make sure the library variables are pointing to the new library
                   2375:            dir=$output_objdir
                   2376:            linklib=$newlib
1.12    ! vbancrof 2377:          fi # test -n "$old_archive_from_expsyms_cmds"
1.11      kahan    2378: 
1.12    ! vbancrof 2379:          if test "$linkmode" = prog || test "$mode" != relink; then
1.11      kahan    2380:            add_shlibpath=
                   2381:            add_dir=
                   2382:            add=
                   2383:            lib_linked=yes
                   2384:            case $hardcode_action in
                   2385:            immediate | unsupported)
                   2386:              if test "$hardcode_direct" = no; then
                   2387:                add="$dir/$linklib"
1.12    ! vbancrof 2388:                case $host in
        !          2389:                  *-*-sco3.2v5* ) add_dir="-L$dir" ;;
        !          2390:                  *-*-darwin* )
        !          2391:                    # if the lib is a module then we can not link against
        !          2392:                    # it, someone is ignoring the new warnings I added
        !          2393:                    if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
        !          2394:                      $echo "** Warning, lib $linklib is a module, not a shared library"
        !          2395:                      if test -z "$old_library" ; then
        !          2396:                        $echo
        !          2397:                        $echo "** And there doesn't seem to be a static archive available"
        !          2398:                        $echo "** The link will probably fail, sorry"
        !          2399:                      else
        !          2400:                        add="$dir/$old_library"
        !          2401:                      fi
        !          2402:                    fi
        !          2403:                esac
1.11      kahan    2404:              elif test "$hardcode_minus_L" = no; then
                   2405:                case $host in
                   2406:                *-*-sunos*) add_shlibpath="$dir" ;;
                   2407:                esac
                   2408:                add_dir="-L$dir"
                   2409:                add="-l$name"
                   2410:              elif test "$hardcode_shlibpath_var" = no; then
                   2411:                add_shlibpath="$dir"
                   2412:                add="-l$name"
                   2413:              else
                   2414:                lib_linked=no
                   2415:              fi
                   2416:              ;;
                   2417:            relink)
                   2418:              if test "$hardcode_direct" = yes; then
                   2419:                add="$dir/$linklib"
                   2420:              elif test "$hardcode_minus_L" = yes; then
                   2421:                add_dir="-L$dir"
1.12    ! vbancrof 2422:                # Try looking first in the location we're being installed to.
        !          2423:                if test -n "$inst_prefix_dir"; then
        !          2424:                  case "$libdir" in
        !          2425:                    [\\/]*)
        !          2426:                      add_dir="$add_dir -L$inst_prefix_dir$libdir"
        !          2427:                      ;;
        !          2428:                  esac
        !          2429:                fi
1.11      kahan    2430:                add="-l$name"
                   2431:              elif test "$hardcode_shlibpath_var" = yes; then
                   2432:                add_shlibpath="$dir"
                   2433:                add="-l$name"
                   2434:              else
                   2435:                lib_linked=no
                   2436:              fi
                   2437:              ;;
                   2438:            *) lib_linked=no ;;
                   2439:            esac
                   2440: 
                   2441:            if test "$lib_linked" != yes; then
                   2442:              $echo "$modename: configuration error: unsupported hardcode properties"
1.12    ! vbancrof 2443:              exit $EXIT_FAILURE
1.11      kahan    2444:            fi
                   2445: 
                   2446:            if test -n "$add_shlibpath"; then
                   2447:              case :$compile_shlibpath: in
                   2448:              *":$add_shlibpath:"*) ;;
                   2449:              *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
1.10      kahan    2450:              esac
1.11      kahan    2451:            fi
1.12    ! vbancrof 2452:            if test "$linkmode" = prog; then
1.11      kahan    2453:              test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
                   2454:              test -n "$add" && compile_deplibs="$add $compile_deplibs"
1.9       kahan    2455:            else
1.11      kahan    2456:              test -n "$add_dir" && deplibs="$add_dir $deplibs"
                   2457:              test -n "$add" && deplibs="$add $deplibs"
                   2458:              if test "$hardcode_direct" != yes && \
                   2459:                 test "$hardcode_minus_L" != yes && \
                   2460:                 test "$hardcode_shlibpath_var" = yes; then
                   2461:                case :$finalize_shlibpath: in
                   2462:                *":$libdir:"*) ;;
                   2463:                *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
                   2464:                esac
                   2465:              fi
1.9       kahan    2466:            fi
1.11      kahan    2467:          fi
1.10      kahan    2468: 
1.12    ! vbancrof 2469:          if test "$linkmode" = prog || test "$mode" = relink; then
1.11      kahan    2470:            add_shlibpath=
                   2471:            add_dir=
                   2472:            add=
                   2473:            # Finalize command for both is simple: just hardcode it.
1.10      kahan    2474:            if test "$hardcode_direct" = yes; then
1.11      kahan    2475:              add="$libdir/$linklib"
1.10      kahan    2476:            elif test "$hardcode_minus_L" = yes; then
1.11      kahan    2477:              add_dir="-L$libdir"
                   2478:              add="-l$name"
1.10      kahan    2479:            elif test "$hardcode_shlibpath_var" = yes; then
1.11      kahan    2480:              case :$finalize_shlibpath: in
                   2481:              *":$libdir:"*) ;;
                   2482:              *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1.10      kahan    2483:              esac
1.11      kahan    2484:              add="-l$name"
1.12    ! vbancrof 2485:            elif test "$hardcode_automatic" = yes; then
        !          2486:              if test -n "$inst_prefix_dir" &&
        !          2487:                 test -f "$inst_prefix_dir$libdir/$linklib" ; then
        !          2488:                add="$inst_prefix_dir$libdir/$linklib"
        !          2489:              else
        !          2490:                add="$libdir/$linklib"
        !          2491:              fi
1.9       kahan    2492:            else
1.11      kahan    2493:              # We cannot seem to hardcode it, guess we'll fake it.
                   2494:              add_dir="-L$libdir"
1.12    ! vbancrof 2495:              # Try looking first in the location we're being installed to.
        !          2496:              if test -n "$inst_prefix_dir"; then
        !          2497:                case "$libdir" in
        !          2498:                  [\\/]*)
        !          2499:                    add_dir="$add_dir -L$inst_prefix_dir$libdir"
        !          2500:                    ;;
        !          2501:                esac
        !          2502:              fi
1.11      kahan    2503:              add="-l$name"
1.5       frystyk  2504:            fi
1.10      kahan    2505: 
1.12    ! vbancrof 2506:            if test "$linkmode" = prog; then
1.11      kahan    2507:              test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
                   2508:              test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
                   2509:            else
                   2510:              test -n "$add_dir" && deplibs="$add_dir $deplibs"
                   2511:              test -n "$add" && deplibs="$add $deplibs"
                   2512:            fi
1.9       kahan    2513:          fi
1.12    ! vbancrof 2514:        elif test "$linkmode" = prog; then
1.10      kahan    2515:          # Here we assume that one of hardcode_direct or hardcode_minus_L
                   2516:          # is not unsupported.  This is valid on all known static and
                   2517:          # shared platforms.
                   2518:          if test "$hardcode_direct" != unsupported; then
                   2519:            test -n "$old_library" && linklib="$old_library"
1.11      kahan    2520:            compile_deplibs="$dir/$linklib $compile_deplibs"
                   2521:            finalize_deplibs="$dir/$linklib $finalize_deplibs"
1.9       kahan    2522:          else
1.11      kahan    2523:            compile_deplibs="-l$name -L$dir $compile_deplibs"
                   2524:            finalize_deplibs="-l$name -L$dir $finalize_deplibs"
1.9       kahan    2525:          fi
1.11      kahan    2526:        elif test "$build_libtool_libs" = yes; then
                   2527:          # Not a shared library
                   2528:          if test "$deplibs_check_method" != pass_all; then
                   2529:            # We're trying link a shared library against a static one
                   2530:            # but the system doesn't support it.
1.2       frystyk  2531: 
1.11      kahan    2532:            # Just print a warning and add the library to dependency_libs so
                   2533:            # that the program can be linked against the static library.
1.12    ! vbancrof 2534:            $echo
        !          2535:            $echo "*** Warning: This system can not link to static lib archive $lib."
        !          2536:            $echo "*** I have the capability to make that library automatically link in when"
        !          2537:            $echo "*** you link to this library.  But I can only do this if you have a"
        !          2538:            $echo "*** shared version of the library, which you do not appear to have."
1.11      kahan    2539:            if test "$module" = yes; then
1.12    ! vbancrof 2540:              $echo "*** But as you try to build a module library, libtool will still create "
        !          2541:              $echo "*** a static module, that should work as long as the dlopening application"
        !          2542:              $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
1.11      kahan    2543:              if test -z "$global_symbol_pipe"; then
1.12    ! vbancrof 2544:                $echo
        !          2545:                $echo "*** However, this would only work if libtool was able to extract symbol"
        !          2546:                $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
        !          2547:                $echo "*** not find such a program.  So, this module is probably useless."
        !          2548:                $echo "*** \`nm' from GNU binutils and a full rebuild may help."
1.11      kahan    2549:              fi
                   2550:              if test "$build_old_libs" = no; then
                   2551:                build_libtool_libs=module
                   2552:                build_old_libs=yes
                   2553:              else
                   2554:                build_libtool_libs=no
                   2555:              fi
                   2556:            fi
                   2557:          else
                   2558:            convenience="$convenience $dir/$old_library"
                   2559:            old_convenience="$old_convenience $dir/$old_library"
                   2560:            deplibs="$dir/$old_library $deplibs"
                   2561:            link_static=yes
                   2562:          fi
                   2563:        fi # link shared/static library?
1.9       kahan    2564: 
1.12    ! vbancrof 2565:        if test "$linkmode" = lib; then
1.11      kahan    2566:          if test -n "$dependency_libs" &&
1.12    ! vbancrof 2567:             { test "$hardcode_into_libs" != yes ||
        !          2568:               test "$build_old_libs" = yes ||
        !          2569:               test "$link_static" = yes; }; then
1.11      kahan    2570:            # Extract -R from dependency_libs
                   2571:            temp_deplibs=
                   2572:            for libdir in $dependency_libs; do
                   2573:              case $libdir in
                   2574:              -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
                   2575:                   case " $xrpath " in
                   2576:                   *" $temp_xrpath "*) ;;
                   2577:                   *) xrpath="$xrpath $temp_xrpath";;
                   2578:                   esac;;
                   2579:              *) temp_deplibs="$temp_deplibs $libdir";;
                   2580:              esac
                   2581:            done
                   2582:            dependency_libs="$temp_deplibs"
                   2583:          fi
1.9       kahan    2584: 
1.11      kahan    2585:          newlib_search_path="$newlib_search_path $absdir"
                   2586:          # Link against this library
                   2587:          test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
                   2588:          # ... and its dependency_libs
                   2589:          tmp_libs=
                   2590:          for deplib in $dependency_libs; do
                   2591:            newdependency_libs="$deplib $newdependency_libs"
                   2592:            if test "X$duplicate_deps" = "Xyes" ; then
                   2593:              case "$tmp_libs " in
                   2594:              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                   2595:              esac
                   2596:            fi
                   2597:            tmp_libs="$tmp_libs $deplib"
                   2598:          done
1.9       kahan    2599: 
1.12    ! vbancrof 2600:          if test "$link_all_deplibs" != no; then
1.11      kahan    2601:            # Add the search paths of all dependency libraries
                   2602:            for deplib in $dependency_libs; do
                   2603:              case $deplib in
                   2604:              -L*) path="$deplib" ;;
                   2605:              *.la)
                   2606:                dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
                   2607:                test "X$dir" = "X$deplib" && dir="."
                   2608:                # We need an absolute path.
                   2609:                case $dir in
                   2610:                [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
                   2611:                *)
                   2612:                  absdir=`cd "$dir" && pwd`
                   2613:                  if test -z "$absdir"; then
                   2614:                    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
                   2615:                    absdir="$dir"
                   2616:                  fi
                   2617:                  ;;
                   2618:                esac
                   2619:                if grep "^installed=no" $deplib > /dev/null; then
1.12    ! vbancrof 2620:                  path="$absdir/$objdir"
1.11      kahan    2621:                else
1.12    ! vbancrof 2622:                  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
1.11      kahan    2623:                  if test -z "$libdir"; then
                   2624:                    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
1.12    ! vbancrof 2625:                    exit $EXIT_FAILURE
1.11      kahan    2626:                  fi
                   2627:                  if test "$absdir" != "$libdir"; then
                   2628:                    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
                   2629:                  fi
1.12    ! vbancrof 2630:                  path="$absdir"
1.11      kahan    2631:                fi
1.12    ! vbancrof 2632:                depdepl=
        !          2633:                case $host in
        !          2634:                *-*-darwin*)
        !          2635:                  # we do not want to link against static libs,
        !          2636:                  # but need to link against shared
        !          2637:                  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
        !          2638:                  if test -n "$deplibrary_names" ; then
        !          2639:                    for tmp in $deplibrary_names ; do
        !          2640:                      depdepl=$tmp
        !          2641:                    done
        !          2642:                    if test -f "$path/$depdepl" ; then
        !          2643:                      depdepl="$path/$depdepl"
        !          2644:                    fi
        !          2645:                    # do not add paths which are already there
        !          2646:                    case " $newlib_search_path " in
        !          2647:                    *" $path "*) ;;
        !          2648:                    *) newlib_search_path="$newlib_search_path $path";;
        !          2649:                    esac
        !          2650:                  fi
        !          2651:                  path=""
        !          2652:                  ;;
        !          2653:                *)
        !          2654:                  path="-L$path"
        !          2655:                  ;;
        !          2656:                esac
        !          2657:                ;;
        !          2658:              -l*)
        !          2659:                case $host in
        !          2660:                *-*-darwin*)
        !          2661:                  # Again, we only want to link against shared libraries
        !          2662:                  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
        !          2663:                  for tmp in $newlib_search_path ; do
        !          2664:                    if test -f "$tmp/lib$tmp_libs.dylib" ; then
        !          2665:                      eval depdepl="$tmp/lib$tmp_libs.dylib"
        !          2666:                      break
        !          2667:                    fi
        !          2668:                  done
        !          2669:                  path=""
        !          2670:                  ;;
        !          2671:                *) continue ;;
        !          2672:                esac
1.11      kahan    2673:                ;;
                   2674:              *) continue ;;
                   2675:              esac
                   2676:              case " $deplibs " in
1.12    ! vbancrof 2677:              *" $depdepl "*) ;;
        !          2678:              *) deplibs="$depdepl $deplibs" ;;
        !          2679:              esac
        !          2680:              case " $deplibs " in
1.11      kahan    2681:              *" $path "*) ;;
                   2682:              *) deplibs="$deplibs $path" ;;
                   2683:              esac
                   2684:            done
                   2685:          fi # link_all_deplibs != no
                   2686:        fi # linkmode = lib
                   2687:       done # for deplib in $libs
1.12    ! vbancrof 2688:       dependency_libs="$newdependency_libs"
        !          2689:       if test "$pass" = dlpreopen; then
1.11      kahan    2690:        # Link the dlpreopened libraries before other libraries
                   2691:        for deplib in $save_deplibs; do
                   2692:          deplibs="$deplib $deplibs"
                   2693:        done
1.2       frystyk  2694:       fi
1.12    ! vbancrof 2695:       if test "$pass" != dlopen; then
        !          2696:        if test "$pass" != conv; then
1.11      kahan    2697:          # Make sure lib_search_path contains only unique directories.
                   2698:          lib_search_path=
                   2699:          for dir in $newlib_search_path; do
                   2700:            case "$lib_search_path " in
                   2701:            *" $dir "*) ;;
                   2702:            *) lib_search_path="$lib_search_path $dir" ;;
                   2703:            esac
                   2704:          done
                   2705:          newlib_search_path=
                   2706:        fi
1.1       frystyk  2707: 
1.11      kahan    2708:        if test "$linkmode,$pass" != "prog,link"; then
                   2709:          vars="deplibs"
                   2710:        else
                   2711:          vars="compile_deplibs finalize_deplibs"
                   2712:        fi
                   2713:        for var in $vars dependency_libs; do
                   2714:          # Add libraries to $var in reverse order
                   2715:          eval tmp_libs=\"\$$var\"
                   2716:          new_libs=
                   2717:          for deplib in $tmp_libs; do
1.12    ! vbancrof 2718:            # FIXME: Pedantically, this is the right thing to do, so
        !          2719:            #        that some nasty dependency loop isn't accidentally
        !          2720:            #        broken:
        !          2721:            #new_libs="$deplib $new_libs"
        !          2722:            # Pragmatically, this seems to cause very few problems in
        !          2723:            # practice:
1.11      kahan    2724:            case $deplib in
                   2725:            -L*) new_libs="$deplib $new_libs" ;;
1.12    ! vbancrof 2726:            -R*) ;;
1.11      kahan    2727:            *)
1.12    ! vbancrof 2728:              # And here is the reason: when a library appears more
        !          2729:              # than once as an explicit dependence of a library, or
        !          2730:              # is implicitly linked in more than once by the
        !          2731:              # compiler, it is considered special, and multiple
        !          2732:              # occurrences thereof are not removed.  Compare this
        !          2733:              # with having the same library being listed as a
        !          2734:              # dependency of multiple other libraries: in this case,
        !          2735:              # we know (pedantically, we assume) the library does not
        !          2736:              # need to be listed more than once, so we keep only the
        !          2737:              # last copy.  This is not always right, but it is rare
        !          2738:              # enough that we require users that really mean to play
        !          2739:              # such unportable linking tricks to link the library
        !          2740:              # using -Wl,-lname, so that libtool does not consider it
        !          2741:              # for duplicate removal.
1.11      kahan    2742:              case " $specialdeplibs " in
                   2743:              *" $deplib "*) new_libs="$deplib $new_libs" ;;
                   2744:              *)
                   2745:                case " $new_libs " in
                   2746:                *" $deplib "*) ;;
                   2747:                *) new_libs="$deplib $new_libs" ;;
                   2748:                esac
                   2749:                ;;
                   2750:              esac
                   2751:              ;;
                   2752:            esac
                   2753:          done
                   2754:          tmp_libs=
                   2755:          for deplib in $new_libs; do
                   2756:            case $deplib in
                   2757:            -L*)
                   2758:              case " $tmp_libs " in
                   2759:              *" $deplib "*) ;;
                   2760:              *) tmp_libs="$tmp_libs $deplib" ;;
                   2761:              esac
                   2762:              ;;
                   2763:            *) tmp_libs="$tmp_libs $deplib" ;;
                   2764:            esac
                   2765:          done
                   2766:          eval $var=\"$tmp_libs\"
                   2767:        done # for var
1.12    ! vbancrof 2768:       fi
        !          2769:       # Last step: remove runtime libs from dependency_libs
        !          2770:       # (they stay in deplibs)
        !          2771:       tmp_libs=
        !          2772:       for i in $dependency_libs ; do
        !          2773:        case " $predeps $postdeps $compiler_lib_search_path " in
        !          2774:        *" $i "*)
        !          2775:          i=""
        !          2776:          ;;
        !          2777:        esac
        !          2778:        if test -n "$i" ; then
        !          2779:          tmp_libs="$tmp_libs $i"
        !          2780:        fi
        !          2781:       done
        !          2782:       dependency_libs=$tmp_libs
1.11      kahan    2783:     done # for pass
1.12    ! vbancrof 2784:     if test "$linkmode" = prog; then
1.11      kahan    2785:       dlfiles="$newdlfiles"
                   2786:       dlprefiles="$newdlprefiles"
                   2787:     fi
1.5       frystyk  2788: 
1.11      kahan    2789:     case $linkmode in
                   2790:     oldlib)
1.12    ! vbancrof 2791:       if test -n "$deplibs"; then
        !          2792:        $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
        !          2793:       fi
        !          2794: 
1.5       frystyk  2795:       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.4       frystyk  2796:        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
1.3       frystyk  2797:       fi
                   2798: 
                   2799:       if test -n "$rpath"; then
1.4       frystyk  2800:        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
                   2801:       fi
                   2802: 
                   2803:       if test -n "$xrpath"; then
                   2804:        $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
1.3       frystyk  2805:       fi
                   2806: 
                   2807:       if test -n "$vinfo"; then
1.12    ! vbancrof 2808:        $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
1.3       frystyk  2809:       fi
                   2810: 
                   2811:       if test -n "$release"; then
1.4       frystyk  2812:        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
                   2813:       fi
                   2814: 
1.5       frystyk  2815:       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1.4       frystyk  2816:        $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
1.3       frystyk  2817:       fi
                   2818: 
1.2       frystyk  2819:       # Now set the variables for building old libraries.
                   2820:       build_libtool_libs=no
1.3       frystyk  2821:       oldlibs="$output"
1.11      kahan    2822:       objs="$objs$old_deplibs"
1.2       frystyk  2823:       ;;
                   2824: 
1.11      kahan    2825:     lib)
1.2       frystyk  2826:       # Make sure we only generate libraries of the form `libNAME.la'.
1.11      kahan    2827:       case $outputname in
1.4       frystyk  2828:       lib*)
                   2829:        name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1.12    ! vbancrof 2830:        eval shared_ext=\"$shrext_cmds\"
1.4       frystyk  2831:        eval libname=\"$libname_spec\"
                   2832:        ;;
1.2       frystyk  2833:       *)
1.4       frystyk  2834:        if test "$module" = no; then
                   2835:          $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
                   2836:          $echo "$help" 1>&2
1.12    ! vbancrof 2837:          exit $EXIT_FAILURE
1.4       frystyk  2838:        fi
                   2839:        if test "$need_lib_prefix" != no; then
                   2840:          # Add the "lib" prefix for modules if required
                   2841:          name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
1.12    ! vbancrof 2842:          eval shared_ext=\"$shrext_cmds\"
1.4       frystyk  2843:          eval libname=\"$libname_spec\"
                   2844:        else
                   2845:          libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
                   2846:        fi
1.2       frystyk  2847:        ;;
                   2848:       esac
                   2849: 
1.1       frystyk  2850:       if test -n "$objs"; then
1.11      kahan    2851:        if test "$deplibs_check_method" != pass_all; then
                   2852:          $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
1.12    ! vbancrof 2853:          exit $EXIT_FAILURE
1.11      kahan    2854:        else
1.12    ! vbancrof 2855:          $echo
        !          2856:          $echo "*** Warning: Linking the shared library $output against the non-libtool"
        !          2857:          $echo "*** objects $objs is not portable!"
1.11      kahan    2858:          libobjs="$libobjs $objs"
                   2859:        fi
1.10      kahan    2860:       fi
                   2861: 
1.11      kahan    2862:       if test "$dlself" != no; then
                   2863:        $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
1.1       frystyk  2864:       fi
                   2865: 
1.2       frystyk  2866:       set dummy $rpath
1.12    ! vbancrof 2867:       if test "$#" -gt 2; then
1.2       frystyk  2868:        $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
1.1       frystyk  2869:       fi
1.2       frystyk  2870:       install_libdir="$2"
1.1       frystyk  2871: 
1.4       frystyk  2872:       oldlibs=
1.3       frystyk  2873:       if test -z "$rpath"; then
1.4       frystyk  2874:        if test "$build_libtool_libs" = yes; then
                   2875:          # Building a libtool convenience library.
1.12    ! vbancrof 2876:          # Some compilers have problems with a `.al' extension so
        !          2877:          # convenience libraries should have the same extension an
        !          2878:          # archive normally would.
1.4       frystyk  2879:          oldlibs="$output_objdir/$libname.$libext $oldlibs"
                   2880:          build_libtool_libs=convenience
                   2881:          build_old_libs=yes
                   2882:        fi
1.3       frystyk  2883: 
                   2884:        if test -n "$vinfo"; then
1.12    ! vbancrof 2885:          $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
1.3       frystyk  2886:        fi
                   2887: 
                   2888:        if test -n "$release"; then
                   2889:          $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
                   2890:        fi
                   2891:       else
                   2892: 
                   2893:        # Parse the version information argument.
1.11      kahan    2894:        save_ifs="$IFS"; IFS=':'
1.3       frystyk  2895:        set dummy $vinfo 0 0 0
                   2896:        IFS="$save_ifs"
                   2897: 
                   2898:        if test -n "$8"; then
                   2899:          $echo "$modename: too many parameters to \`-version-info'" 1>&2
                   2900:          $echo "$help" 1>&2
1.12    ! vbancrof 2901:          exit $EXIT_FAILURE
1.3       frystyk  2902:        fi
                   2903: 
1.12    ! vbancrof 2904:        # convert absolute version numbers to libtool ages
        !          2905:        # this retains compatibility with .la files and attempts
        !          2906:        # to make the code below a bit more comprehensible
        !          2907: 
        !          2908:        case $vinfo_number in
        !          2909:        yes)
        !          2910:          number_major="$2"
        !          2911:          number_minor="$3"
        !          2912:          number_revision="$4"
        !          2913:          #
        !          2914:          # There are really only two kinds -- those that
        !          2915:          # use the current revision as the major version
        !          2916:          # and those that subtract age and use age as
        !          2917:          # a minor version.  But, then there is irix
        !          2918:          # which has an extra 1 added just for fun
        !          2919:          #
        !          2920:          case $version_type in
        !          2921:          darwin|linux|osf|windows)
        !          2922:            current=`expr $number_major + $number_minor`
        !          2923:            age="$number_minor"
        !          2924:            revision="$number_revision"
        !          2925:            ;;
        !          2926:          freebsd-aout|freebsd-elf|sunos)
        !          2927:            current="$number_major"
        !          2928:            revision="$number_minor"
        !          2929:            age="0"
        !          2930:            ;;
        !          2931:          irix|nonstopux)
        !          2932:            current=`expr $number_major + $number_minor - 1`
        !          2933:            age="$number_minor"
        !          2934:            revision="$number_minor"
        !          2935:            ;;
        !          2936:          esac
        !          2937:          ;;
        !          2938:        no)
        !          2939:          current="$2"
        !          2940:          revision="$3"
        !          2941:          age="$4"
        !          2942:          ;;
        !          2943:        esac
1.3       frystyk  2944: 
                   2945:        # Check that each of the things are valid numbers.
1.11      kahan    2946:        case $current in
1.12    ! vbancrof 2947:        [0-9]*) ;;
1.3       frystyk  2948:        *)
                   2949:          $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
                   2950:          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.12    ! vbancrof 2951:          exit $EXIT_FAILURE
1.3       frystyk  2952:          ;;
                   2953:        esac
                   2954: 
1.11      kahan    2955:        case $revision in
1.12    ! vbancrof 2956:        [0-9]*) ;;
1.3       frystyk  2957:        *)
                   2958:          $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
                   2959:          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.12    ! vbancrof 2960:          exit $EXIT_FAILURE
1.3       frystyk  2961:          ;;
                   2962:        esac
                   2963: 
1.11      kahan    2964:        case $age in
1.12    ! vbancrof 2965:        [0-9]*) ;;
1.3       frystyk  2966:        *)
                   2967:          $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
                   2968:          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.12    ! vbancrof 2969:          exit $EXIT_FAILURE
1.3       frystyk  2970:          ;;
                   2971:        esac
1.1       frystyk  2972: 
1.12    ! vbancrof 2973:        if test "$age" -gt "$current"; then
1.3       frystyk  2974:          $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
                   2975:          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.12    ! vbancrof 2976:          exit $EXIT_FAILURE
1.3       frystyk  2977:        fi
1.1       frystyk  2978: 
1.3       frystyk  2979:        # Calculate the version variables.
                   2980:        major=
                   2981:        versuffix=
                   2982:        verstring=
1.11      kahan    2983:        case $version_type in
1.3       frystyk  2984:        none) ;;
                   2985: 
1.11      kahan    2986:        darwin)
                   2987:          # Like Linux, but with the current version available in
                   2988:          # verstring for coding it into the library header
                   2989:          major=.`expr $current - $age`
                   2990:          versuffix="$major.$age.$revision"
                   2991:          # Darwin ld doesn't like 0 for these options...
                   2992:          minor_current=`expr $current + 1`
                   2993:          verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
                   2994:          ;;
                   2995: 
                   2996:        freebsd-aout)
                   2997:          major=".$current"
                   2998:          versuffix=".$current.$revision";
                   2999:          ;;
                   3000: 
                   3001:        freebsd-elf)
                   3002:          major=".$current"
                   3003:          versuffix=".$current";
                   3004:          ;;
                   3005: 
                   3006:        irix | nonstopux)
1.12    ! vbancrof 3007:          major=`expr $current - $age + 1`
        !          3008: 
1.11      kahan    3009:          case $version_type in
                   3010:            nonstopux) verstring_prefix=nonstopux ;;
                   3011:            *)         verstring_prefix=sgi ;;
                   3012:          esac
                   3013:          verstring="$verstring_prefix$major.$revision"
                   3014: 
1.5       frystyk  3015:          # Add in all the interfaces that we are compatible with.
                   3016:          loop=$revision
1.12    ! vbancrof 3017:          while test "$loop" -ne 0; do
1.5       frystyk  3018:            iface=`expr $revision - $loop`
                   3019:            loop=`expr $loop - 1`
1.11      kahan    3020:            verstring="$verstring_prefix$major.$iface:$verstring"
1.5       frystyk  3021:          done
1.11      kahan    3022: 
                   3023:          # Before this point, $major must not contain `.'.
                   3024:          major=.$major
                   3025:          versuffix="$major.$revision"
1.5       frystyk  3026:          ;;
                   3027: 
1.3       frystyk  3028:        linux)
                   3029:          major=.`expr $current - $age`
                   3030:          versuffix="$major.$age.$revision"
                   3031:          ;;
1.1       frystyk  3032: 
1.3       frystyk  3033:        osf)
1.12    ! vbancrof 3034:          major=.`expr $current - $age`
1.3       frystyk  3035:          versuffix=".$current.$age.$revision"
                   3036:          verstring="$current.$age.$revision"
                   3037: 
                   3038:          # Add in all the interfaces that we are compatible with.
                   3039:          loop=$age
1.12    ! vbancrof 3040:          while test "$loop" -ne 0; do
1.3       frystyk  3041:            iface=`expr $current - $loop`
                   3042:            loop=`expr $loop - 1`
                   3043:            verstring="$verstring:${iface}.0"
                   3044:          done
1.1       frystyk  3045: 
1.3       frystyk  3046:          # Make executables depend on our current version.
                   3047:          verstring="$verstring:${current}.0"
                   3048:          ;;
1.1       frystyk  3049: 
1.9       kahan    3050:        sunos)
1.4       frystyk  3051:          major=".$current"
1.9       kahan    3052:          versuffix=".$current.$revision"
1.4       frystyk  3053:          ;;
                   3054: 
                   3055:        windows)
1.11      kahan    3056:          # Use '-' rather than '.', since we only want one
                   3057:          # extension on DOS 8.3 filesystems.
1.4       frystyk  3058:          major=`expr $current - $age`
1.11      kahan    3059:          versuffix="-$major"
1.4       frystyk  3060:          ;;
                   3061: 
1.3       frystyk  3062:        *)
                   3063:          $echo "$modename: unknown library version type \`$version_type'" 1>&2
1.12    ! vbancrof 3064:          $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
        !          3065:          exit $EXIT_FAILURE
1.3       frystyk  3066:          ;;
                   3067:        esac
1.1       frystyk  3068: 
1.3       frystyk  3069:        # Clear the version info if we defaulted, and they specified a release.
                   3070:        if test -z "$vinfo" && test -n "$release"; then
                   3071:          major=
1.11      kahan    3072:          case $version_type in
                   3073:          darwin)
                   3074:            # we can't check for "0.0" in archive_cmds due to quoting
                   3075:            # problems, so we reset it completely
1.12    ! vbancrof 3076:            verstring=
1.11      kahan    3077:            ;;
                   3078:          *)
                   3079:            verstring="0.0"
                   3080:            ;;
                   3081:          esac
1.4       frystyk  3082:          if test "$need_version" = no; then
                   3083:            versuffix=
                   3084:          else
                   3085:            versuffix=".0.0"
                   3086:          fi
1.3       frystyk  3087:        fi
1.1       frystyk  3088: 
1.4       frystyk  3089:        # Remove version info from name if versioning should be avoided
                   3090:        if test "$avoid_version" = yes && test "$need_version" = no; then
                   3091:          major=
                   3092:          versuffix=
                   3093:          verstring=""
                   3094:        fi
1.11      kahan    3095: 
1.3       frystyk  3096:        # Check to see if the archive will have undefined symbols.
                   3097:        if test "$allow_undefined" = yes; then
                   3098:          if test "$allow_undefined_flag" = unsupported; then
                   3099:            $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
                   3100:            build_libtool_libs=no
                   3101:            build_old_libs=yes
                   3102:          fi
                   3103:        else
                   3104:          # Don't allow undefined symbols.
                   3105:          allow_undefined_flag="$no_undefined_flag"
                   3106:        fi
                   3107:       fi
1.1       frystyk  3108: 
1.11      kahan    3109:       if test "$mode" != relink; then
1.12    ! vbancrof 3110:        # Remove our outputs, but don't remove object files since they
        !          3111:        # may have been created when compiling PIC objects.
        !          3112:        removelist=
        !          3113:        tempremovelist=`$echo "$output_objdir/*"`
        !          3114:        for p in $tempremovelist; do
        !          3115:          case $p in
        !          3116:            *.$objext)
        !          3117:               ;;
        !          3118:            $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
        !          3119:               if test "X$precious_files_regex" != "X"; then
        !          3120:                 if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
        !          3121:                 then
        !          3122:                   continue
        !          3123:                 fi
        !          3124:               fi
        !          3125:               removelist="$removelist $p"
        !          3126:               ;;
        !          3127:            *) ;;
        !          3128:          esac
        !          3129:        done
        !          3130:        if test -n "$removelist"; then
        !          3131:          $show "${rm}r $removelist"
        !          3132:          $run ${rm}r $removelist
        !          3133:        fi
1.4       frystyk  3134:       fi
                   3135: 
                   3136:       # Now set the variables for building old libraries.
                   3137:       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
                   3138:        oldlibs="$oldlibs $output_objdir/$libname.$libext"
                   3139: 
                   3140:        # Transform .lo files to .o files.
                   3141:        oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
                   3142:       fi
                   3143: 
1.11      kahan    3144:       # Eliminate all temporary directories.
                   3145:       for path in $notinst_path; do
1.12    ! vbancrof 3146:        lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
        !          3147:        deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
        !          3148:        dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
1.11      kahan    3149:       done
                   3150: 
                   3151:       if test -n "$xrpath"; then
                   3152:        # If the user specified any rpath flags, then add them.
                   3153:        temp_xrpath=
                   3154:        for libdir in $xrpath; do
                   3155:          temp_xrpath="$temp_xrpath -R$libdir"
                   3156:          case "$finalize_rpath " in
                   3157:          *" $libdir "*) ;;
                   3158:          *) finalize_rpath="$finalize_rpath $libdir" ;;
                   3159:          esac
                   3160:        done
1.12    ! vbancrof 3161:        if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
1.11      kahan    3162:          dependency_libs="$temp_xrpath $dependency_libs"
                   3163:        fi
                   3164:       fi
                   3165: 
                   3166:       # Make sure dlfiles contains only unique files that won't be dlpreopened
                   3167:       old_dlfiles="$dlfiles"
                   3168:       dlfiles=
                   3169:       for lib in $old_dlfiles; do
                   3170:        case " $dlprefiles $dlfiles " in
                   3171:        *" $lib "*) ;;
                   3172:        *) dlfiles="$dlfiles $lib" ;;
                   3173:        esac
                   3174:       done
                   3175: 
                   3176:       # Make sure dlprefiles contains only unique files
                   3177:       old_dlprefiles="$dlprefiles"
                   3178:       dlprefiles=
                   3179:       for lib in $old_dlprefiles; do
                   3180:        case "$dlprefiles " in
                   3181:        *" $lib "*) ;;
                   3182:        *) dlprefiles="$dlprefiles $lib" ;;
                   3183:        esac
                   3184:       done
                   3185: 
1.4       frystyk  3186:       if test "$build_libtool_libs" = yes; then
1.11      kahan    3187:        if test -n "$rpath"; then
                   3188:          case $host in
                   3189:          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
                   3190:            # these systems don't actually have a c library (as such)!
                   3191:            ;;
                   3192:          *-*-rhapsody* | *-*-darwin1.[012])
                   3193:            # Rhapsody C library is in the System framework
                   3194:            deplibs="$deplibs -framework System"
                   3195:            ;;
                   3196:          *-*-netbsd*)
                   3197:            # Don't link with libc until the a.out ld.so is fixed.
                   3198:            ;;
                   3199:          *-*-openbsd* | *-*-freebsd*)
                   3200:            # Do not include libc due to us having libc/libc_r.
1.12    ! vbancrof 3201:            test "X$arg" = "X-lc" && continue
1.11      kahan    3202:            ;;
1.12    ! vbancrof 3203:          *)
1.11      kahan    3204:            # Add libc to deplibs on all other systems if necessary.
1.12    ! vbancrof 3205:            if test "$build_libtool_need_lc" = "yes"; then
1.11      kahan    3206:              deplibs="$deplibs -lc"
                   3207:            fi
                   3208:            ;;
                   3209:          esac
                   3210:        fi
                   3211: 
1.4       frystyk  3212:        # Transform deplibs into only deplibs that can be linked in shared.
                   3213:        name_save=$name
                   3214:        libname_save=$libname
                   3215:        release_save=$release
                   3216:        versuffix_save=$versuffix
                   3217:        major_save=$major
                   3218:        # I'm not sure if I'm treating the release correctly.  I think
                   3219:        # release should show up in the -l (ie -lgmp5) so we don't want to
                   3220:        # add it in twice.  Is that correct?
                   3221:        release=""
                   3222:        versuffix=""
                   3223:        major=""
                   3224:        newdeplibs=
                   3225:        droppeddeps=no
1.11      kahan    3226:        case $deplibs_check_method in
1.4       frystyk  3227:        pass_all)
1.5       frystyk  3228:          # Don't check for shared/static.  Everything works.
                   3229:          # This might be a little naive.  We might want to check
                   3230:          # whether the library exists or not.  But this is on
                   3231:          # osf3 & osf4 and I'm not really sure... Just
1.12    ! vbancrof 3232:          # implementing what was already the behavior.
1.4       frystyk  3233:          newdeplibs=$deplibs
1.5       frystyk  3234:          ;;
1.4       frystyk  3235:        test_compile)
                   3236:          # This code stresses the "libraries are programs" paradigm to its
                   3237:          # limits. Maybe even breaks it.  We compile a program, linking it
                   3238:          # against the deplibs as a proxy for the library.  Then we can check
                   3239:          # whether they linked in statically or dynamically with ldd.
                   3240:          $rm conftest.c
                   3241:          cat > conftest.c <<EOF
                   3242:          int main() { return 0; }
                   3243: EOF
                   3244:          $rm conftest
1.12    ! vbancrof 3245:          $LTCC -o conftest conftest.c $deplibs
        !          3246:          if test "$?" -eq 0 ; then
1.4       frystyk  3247:            ldd_output=`ldd conftest`
                   3248:            for i in $deplibs; do
                   3249:              name="`expr $i : '-l\(.*\)'`"
                   3250:              # If $name is empty we are operating on a -L argument.
1.12    ! vbancrof 3251:               if test "$name" != "" && test "$name" -ne "0"; then
        !          3252:                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          3253:                  case " $predeps $postdeps " in
        !          3254:                  *" $i "*)
        !          3255:                    newdeplibs="$newdeplibs $i"
        !          3256:                    i=""
        !          3257:                    ;;
        !          3258:                  esac
        !          3259:                fi
        !          3260:                if test -n "$i" ; then
        !          3261:                  libname=`eval \\$echo \"$libname_spec\"`
        !          3262:                  deplib_matches=`eval \\$echo \"$library_names_spec\"`
        !          3263:                  set dummy $deplib_matches
        !          3264:                  deplib_match=$2
        !          3265:                  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
        !          3266:                    newdeplibs="$newdeplibs $i"
        !          3267:                  else
        !          3268:                    droppeddeps=yes
        !          3269:                    $echo
        !          3270:                    $echo "*** Warning: dynamic linker does not accept needed library $i."
        !          3271:                    $echo "*** I have the capability to make that library automatically link in when"
        !          3272:                    $echo "*** you link to this library.  But I can only do this if you have a"
        !          3273:                    $echo "*** shared version of the library, which I believe you do not have"
        !          3274:                    $echo "*** because a test_compile did reveal that the linker did not use it for"
        !          3275:                    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
        !          3276:                  fi
1.4       frystyk  3277:                fi
                   3278:              else
                   3279:                newdeplibs="$newdeplibs $i"
                   3280:              fi
                   3281:            done
                   3282:          else
1.12    ! vbancrof 3283:            # Error occurred in the first compile.  Let's try to salvage
1.11      kahan    3284:            # the situation: Compile a separate program for each library.
1.4       frystyk  3285:            for i in $deplibs; do
                   3286:              name="`expr $i : '-l\(.*\)'`"
1.12    ! vbancrof 3287:              # If $name is empty we are operating on a -L argument.
        !          3288:               if test "$name" != "" && test "$name" != "0"; then
1.4       frystyk  3289:                $rm conftest
1.12    ! vbancrof 3290:                $LTCC -o conftest conftest.c $i
1.4       frystyk  3291:                # Did it work?
1.12    ! vbancrof 3292:                if test "$?" -eq 0 ; then
1.4       frystyk  3293:                  ldd_output=`ldd conftest`
1.12    ! vbancrof 3294:                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          3295:                    case " $predeps $postdeps " in
        !          3296:                    *" $i "*)
        !          3297:                      newdeplibs="$newdeplibs $i"
        !          3298:                      i=""
        !          3299:                      ;;
        !          3300:                    esac
        !          3301:                  fi
        !          3302:                  if test -n "$i" ; then
        !          3303:                    libname=`eval \\$echo \"$libname_spec\"`
        !          3304:                    deplib_matches=`eval \\$echo \"$library_names_spec\"`
        !          3305:                    set dummy $deplib_matches
        !          3306:                    deplib_match=$2
        !          3307:                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
        !          3308:                      newdeplibs="$newdeplibs $i"
        !          3309:                    else
        !          3310:                      droppeddeps=yes
        !          3311:                      $echo
        !          3312:                      $echo "*** Warning: dynamic linker does not accept needed library $i."
        !          3313:                      $echo "*** I have the capability to make that library automatically link in when"
        !          3314:                      $echo "*** you link to this library.  But I can only do this if you have a"
        !          3315:                      $echo "*** shared version of the library, which you do not appear to have"
        !          3316:                      $echo "*** because a test_compile did reveal that the linker did not use this one"
        !          3317:                      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
        !          3318:                    fi
1.5       frystyk  3319:                  fi
1.4       frystyk  3320:                else
                   3321:                  droppeddeps=yes
1.12    ! vbancrof 3322:                  $echo
        !          3323:                  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
        !          3324:                  $echo "***  make it link in!  You will probably need to install it or some"
        !          3325:                  $echo "*** library that it depends on before this library will be fully"
        !          3326:                  $echo "*** functional.  Installing it before continuing would be even better."
1.4       frystyk  3327:                fi
                   3328:              else
                   3329:                newdeplibs="$newdeplibs $i"
                   3330:              fi
                   3331:            done
                   3332:          fi
                   3333:          ;;
1.5       frystyk  3334:        file_magic*)
1.4       frystyk  3335:          set dummy $deplibs_check_method
1.11      kahan    3336:          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
1.4       frystyk  3337:          for a_deplib in $deplibs; do
                   3338:            name="`expr $a_deplib : '-l\(.*\)'`"
                   3339:            # If $name is empty we are operating on a -L argument.
1.12    ! vbancrof 3340:             if test "$name" != "" && test  "$name" != "0"; then
        !          3341:              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          3342:                case " $predeps $postdeps " in
        !          3343:                *" $a_deplib "*)
        !          3344:                  newdeplibs="$newdeplibs $a_deplib"
        !          3345:                  a_deplib=""
        !          3346:                  ;;
        !          3347:                esac
        !          3348:              fi
        !          3349:              if test -n "$a_deplib" ; then
        !          3350:                libname=`eval \\$echo \"$libname_spec\"`
        !          3351:                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
        !          3352:                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
        !          3353:                  for potent_lib in $potential_libs; do
1.4       frystyk  3354:                      # Follow soft links.
1.6       frystyk  3355:                      if ls -lLd "$potent_lib" 2>/dev/null \
1.4       frystyk  3356:                         | grep " -> " >/dev/null; then
1.11      kahan    3357:                        continue
1.4       frystyk  3358:                      fi
                   3359:                      # The statement above tries to avoid entering an
                   3360:                      # endless loop below, in case of cyclic links.
                   3361:                      # We might still enter an endless loop, since a link
                   3362:                      # loop can be closed while we follow links,
                   3363:                      # but so what?
                   3364:                      potlib="$potent_lib"
                   3365:                      while test -h "$potlib" 2>/dev/null; do
1.12    ! vbancrof 3366:                        potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
1.11      kahan    3367:                        case $potliblink in
1.5       frystyk  3368:                        [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
                   3369:                        *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
1.4       frystyk  3370:                        esac
                   3371:                      done
1.5       frystyk  3372:                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
1.12    ! vbancrof 3373:                         | ${SED} 10q \
        !          3374:                         | $EGREP "$file_magic_regex" > /dev/null; then
1.4       frystyk  3375:                        newdeplibs="$newdeplibs $a_deplib"
                   3376:                        a_deplib=""
                   3377:                        break 2
                   3378:                      fi
1.12    ! vbancrof 3379:                  done
        !          3380:                done
        !          3381:              fi
1.4       frystyk  3382:              if test -n "$a_deplib" ; then
                   3383:                droppeddeps=yes
1.12    ! vbancrof 3384:                $echo
        !          3385:                $echo "*** Warning: linker path does not have real file for library $a_deplib."
        !          3386:                $echo "*** I have the capability to make that library automatically link in when"
        !          3387:                $echo "*** you link to this library.  But I can only do this if you have a"
        !          3388:                $echo "*** shared version of the library, which you do not appear to have"
        !          3389:                $echo "*** because I did check the linker path looking for a file starting"
1.11      kahan    3390:                if test -z "$potlib" ; then
1.12    ! vbancrof 3391:                  $echo "*** with $libname but no candidates were found. (...for file magic test)"
1.11      kahan    3392:                else
1.12    ! vbancrof 3393:                  $echo "*** with $libname and none of the candidates passed a file format test"
        !          3394:                  $echo "*** using a file magic. Last file checked: $potlib"
1.11      kahan    3395:                fi
                   3396:              fi
                   3397:            else
                   3398:              # Add a -L argument.
                   3399:              newdeplibs="$newdeplibs $a_deplib"
                   3400:            fi
                   3401:          done # Gone through all deplibs.
                   3402:          ;;
                   3403:        match_pattern*)
                   3404:          set dummy $deplibs_check_method
                   3405:          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
                   3406:          for a_deplib in $deplibs; do
                   3407:            name="`expr $a_deplib : '-l\(.*\)'`"
                   3408:            # If $name is empty we are operating on a -L argument.
                   3409:            if test -n "$name" && test "$name" != "0"; then
1.12    ! vbancrof 3410:              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          3411:                case " $predeps $postdeps " in
        !          3412:                *" $a_deplib "*)
        !          3413:                  newdeplibs="$newdeplibs $a_deplib"
        !          3414:                  a_deplib=""
        !          3415:                  ;;
        !          3416:                esac
        !          3417:              fi
        !          3418:              if test -n "$a_deplib" ; then
        !          3419:                libname=`eval \\$echo \"$libname_spec\"`
        !          3420:                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
        !          3421:                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
        !          3422:                  for potent_lib in $potential_libs; do
        !          3423:                    potlib="$potent_lib" # see symlink-check above in file_magic test
        !          3424:                    if eval $echo \"$potent_lib\" 2>/dev/null \
        !          3425:                        | ${SED} 10q \
        !          3426:                        | $EGREP "$match_pattern_regex" > /dev/null; then
        !          3427:                      newdeplibs="$newdeplibs $a_deplib"
        !          3428:                      a_deplib=""
        !          3429:                      break 2
        !          3430:                    fi
        !          3431:                  done
1.11      kahan    3432:                done
1.12    ! vbancrof 3433:              fi
1.11      kahan    3434:              if test -n "$a_deplib" ; then
                   3435:                droppeddeps=yes
1.12    ! vbancrof 3436:                $echo
        !          3437:                $echo "*** Warning: linker path does not have real file for library $a_deplib."
        !          3438:                $echo "*** I have the capability to make that library automatically link in when"
        !          3439:                $echo "*** you link to this library.  But I can only do this if you have a"
        !          3440:                $echo "*** shared version of the library, which you do not appear to have"
        !          3441:                $echo "*** because I did check the linker path looking for a file starting"
1.11      kahan    3442:                if test -z "$potlib" ; then
1.12    ! vbancrof 3443:                  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
1.11      kahan    3444:                else
1.12    ! vbancrof 3445:                  $echo "*** with $libname and none of the candidates passed a file format test"
        !          3446:                  $echo "*** using a regex pattern. Last file checked: $potlib"
1.11      kahan    3447:                fi
1.4       frystyk  3448:              fi
                   3449:            else
                   3450:              # Add a -L argument.
                   3451:              newdeplibs="$newdeplibs $a_deplib"
                   3452:            fi
                   3453:          done # Gone through all deplibs.
                   3454:          ;;
1.5       frystyk  3455:        none | unknown | *)
                   3456:          newdeplibs=""
1.12    ! vbancrof 3457:          tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
        !          3458:            -e 's/ -[LR][^ ]*//g'`
        !          3459:          if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
        !          3460:            for i in $predeps $postdeps ; do
        !          3461:              # can't use Xsed below, because $i might contain '/'
        !          3462:              tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
        !          3463:            done
        !          3464:          fi
        !          3465:          if $echo "X $tmp_deplibs" | $Xsed -e 's/[     ]//g' \
        !          3466:            | grep . >/dev/null; then
        !          3467:            $echo
1.5       frystyk  3468:            if test "X$deplibs_check_method" = "Xnone"; then
1.12    ! vbancrof 3469:              $echo "*** Warning: inter-library dependencies are not supported in this platform."
1.5       frystyk  3470:            else
1.12    ! vbancrof 3471:              $echo "*** Warning: inter-library dependencies are not known to be supported."
1.5       frystyk  3472:            fi
1.12    ! vbancrof 3473:            $echo "*** All declared inter-library dependencies are being dropped."
1.5       frystyk  3474:            droppeddeps=yes
                   3475:          fi
                   3476:          ;;
1.4       frystyk  3477:        esac
                   3478:        versuffix=$versuffix_save
                   3479:        major=$major_save
                   3480:        release=$release_save
                   3481:        libname=$libname_save
                   3482:        name=$name_save
                   3483: 
1.11      kahan    3484:        case $host in
                   3485:        *-*-rhapsody* | *-*-darwin1.[012])
                   3486:          # On Rhapsody replace the C library is the System framework
                   3487:          newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
                   3488:          ;;
                   3489:        esac
                   3490: 
1.5       frystyk  3491:        if test "$droppeddeps" = yes; then
                   3492:          if test "$module" = yes; then
1.12    ! vbancrof 3493:            $echo
        !          3494:            $echo "*** Warning: libtool could not satisfy all declared inter-library"
        !          3495:            $echo "*** dependencies of module $libname.  Therefore, libtool will create"
        !          3496:            $echo "*** a static module, that should work as long as the dlopening"
        !          3497:            $echo "*** application is linked with the -dlopen flag."
1.5       frystyk  3498:            if test -z "$global_symbol_pipe"; then
1.12    ! vbancrof 3499:              $echo
        !          3500:              $echo "*** However, this would only work if libtool was able to extract symbol"
        !          3501:              $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
        !          3502:              $echo "*** not find such a program.  So, this module is probably useless."
        !          3503:              $echo "*** \`nm' from GNU binutils and a full rebuild may help."
1.5       frystyk  3504:            fi
                   3505:            if test "$build_old_libs" = no; then
                   3506:              oldlibs="$output_objdir/$libname.$libext"
                   3507:              build_libtool_libs=module
                   3508:              build_old_libs=yes
                   3509:            else
                   3510:              build_libtool_libs=no
                   3511:            fi
1.4       frystyk  3512:          else
1.12    ! vbancrof 3513:            $echo "*** The inter-library dependencies that have been dropped here will be"
        !          3514:            $echo "*** automatically added whenever a program is linked with this library"
        !          3515:            $echo "*** or is declared to -dlopen it."
        !          3516: 
        !          3517:            if test "$allow_undefined" = no; then
        !          3518:              $echo
        !          3519:              $echo "*** Since this library must not contain undefined symbols,"
        !          3520:              $echo "*** because either the platform does not support them or"
        !          3521:              $echo "*** it was explicitly requested with -no-undefined,"
        !          3522:              $echo "*** libtool will only create a static version of it."
1.11      kahan    3523:              if test "$build_old_libs" = no; then
                   3524:                oldlibs="$output_objdir/$libname.$libext"
                   3525:                build_libtool_libs=module
                   3526:                build_old_libs=yes
                   3527:              else
                   3528:                build_libtool_libs=no
                   3529:              fi
                   3530:            fi
1.4       frystyk  3531:          fi
                   3532:        fi
1.5       frystyk  3533:        # Done checking deplibs!
                   3534:        deplibs=$newdeplibs
1.1       frystyk  3535:       fi
                   3536: 
1.5       frystyk  3537:       # All the library-specific variables (install_libdir is set above).
                   3538:       library_names=
                   3539:       old_library=
                   3540:       dlname=
1.11      kahan    3541: 
1.5       frystyk  3542:       # Test again, we may have decided not to build it any more
1.1       frystyk  3543:       if test "$build_libtool_libs" = yes; then
1.12    ! vbancrof 3544:        if test "$hardcode_into_libs" = yes; then
1.11      kahan    3545:          # Hardcode the library paths
                   3546:          hardcode_libdirs=
                   3547:          dep_rpath=
                   3548:          rpath="$finalize_rpath"
                   3549:          test "$mode" != relink && rpath="$compile_rpath$rpath"
                   3550:          for libdir in $rpath; do
                   3551:            if test -n "$hardcode_libdir_flag_spec"; then
                   3552:              if test -n "$hardcode_libdir_separator"; then
                   3553:                if test -z "$hardcode_libdirs"; then
                   3554:                  hardcode_libdirs="$libdir"
                   3555:                else
                   3556:                  # Just accumulate the unique libdirs.
                   3557:                  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
                   3558:                  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                   3559:                    ;;
                   3560:                  *)
                   3561:                    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
                   3562:                    ;;
                   3563:                  esac
                   3564:                fi
                   3565:              else
                   3566:                eval flag=\"$hardcode_libdir_flag_spec\"
                   3567:                dep_rpath="$dep_rpath $flag"
                   3568:              fi
                   3569:            elif test -n "$runpath_var"; then
                   3570:              case "$perm_rpath " in
                   3571:              *" $libdir "*) ;;
                   3572:              *) perm_rpath="$perm_rpath $libdir" ;;
                   3573:              esac
                   3574:            fi
                   3575:          done
                   3576:          # Substitute the hardcoded libdirs into the rpath.
                   3577:          if test -n "$hardcode_libdir_separator" &&
                   3578:             test -n "$hardcode_libdirs"; then
                   3579:            libdir="$hardcode_libdirs"
1.12    ! vbancrof 3580:            if test -n "$hardcode_libdir_flag_spec_ld"; then
        !          3581:              eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
        !          3582:            else
        !          3583:              eval dep_rpath=\"$hardcode_libdir_flag_spec\"
        !          3584:            fi
1.11      kahan    3585:          fi
                   3586:          if test -n "$runpath_var" && test -n "$perm_rpath"; then
                   3587:            # We should set the runpath_var.
                   3588:            rpath=
                   3589:            for dir in $perm_rpath; do
                   3590:              rpath="$rpath$dir:"
                   3591:            done
                   3592:            eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
                   3593:          fi
                   3594:          test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
                   3595:        fi
                   3596: 
                   3597:        shlibpath="$finalize_shlibpath"
                   3598:        test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
                   3599:        if test -n "$shlibpath"; then
                   3600:          eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
                   3601:        fi
                   3602: 
1.3       frystyk  3603:        # Get the real and link names of the library.
1.12    ! vbancrof 3604:        eval shared_ext=\"$shrext_cmds\"
1.3       frystyk  3605:        eval library_names=\"$library_names_spec\"
                   3606:        set dummy $library_names
                   3607:        realname="$2"
                   3608:        shift; shift
1.1       frystyk  3609: 
1.3       frystyk  3610:        if test -n "$soname_spec"; then
                   3611:          eval soname=\"$soname_spec\"
                   3612:        else
                   3613:          soname="$realname"
                   3614:        fi
1.12    ! vbancrof 3615:        if test -z "$dlname"; then
        !          3616:          dlname=$soname
        !          3617:        fi
1.1       frystyk  3618: 
1.4       frystyk  3619:        lib="$output_objdir/$realname"
1.1       frystyk  3620:        for link
                   3621:        do
                   3622:          linknames="$linknames $link"
                   3623:        done
                   3624: 
1.5       frystyk  3625:        # Use standard objects if they are pic
1.4       frystyk  3626:        test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.3       frystyk  3627: 
1.5       frystyk  3628:        # Prepare the list of exported symbols
                   3629:        if test -z "$export_symbols"; then
                   3630:          if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
                   3631:            $show "generating symbol list for \`$libname.la'"
                   3632:            export_symbols="$output_objdir/$libname.exp"
                   3633:            $run $rm $export_symbols
1.12    ! vbancrof 3634:            cmds=$export_symbols_cmds
1.11      kahan    3635:            save_ifs="$IFS"; IFS='~'
1.5       frystyk  3636:            for cmd in $cmds; do
                   3637:              IFS="$save_ifs"
1.12    ! vbancrof 3638:              eval cmd=\"$cmd\"
        !          3639:              if len=`expr "X$cmd" : ".*"` &&
        !          3640:               test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
        !          3641:                $show "$cmd"
        !          3642:                $run eval "$cmd" || exit $?
        !          3643:                skipped_export=false
        !          3644:              else
        !          3645:                # The command line is too long to execute in one step.
        !          3646:                $show "using reloadable object file for export list..."
        !          3647:                skipped_export=:
        !          3648:              fi
1.5       frystyk  3649:            done
                   3650:            IFS="$save_ifs"
                   3651:            if test -n "$export_symbols_regex"; then
1.12    ! vbancrof 3652:              $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
        !          3653:              $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
1.5       frystyk  3654:              $show "$mv \"${export_symbols}T\" \"$export_symbols\""
                   3655:              $run eval '$mv "${export_symbols}T" "$export_symbols"'
                   3656:            fi
                   3657:          fi
                   3658:        fi
                   3659: 
                   3660:        if test -n "$export_symbols" && test -n "$include_expsyms"; then
                   3661:          $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
                   3662:        fi
                   3663: 
1.12    ! vbancrof 3664:        tmp_deplibs=
        !          3665:        for test_deplib in $deplibs; do
        !          3666:                case " $convenience " in
        !          3667:                *" $test_deplib "*) ;;
        !          3668:                *)
        !          3669:                        tmp_deplibs="$tmp_deplibs $test_deplib"
        !          3670:                        ;;
        !          3671:                esac
        !          3672:        done
        !          3673:        deplibs="$tmp_deplibs"
        !          3674: 
1.7       frystyk  3675:        if test -n "$convenience"; then
                   3676:          if test -n "$whole_archive_flag_spec"; then
1.12    ! vbancrof 3677:            save_libobjs=$libobjs
1.7       frystyk  3678:            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
                   3679:          else
                   3680:            gentop="$output_objdir/${outputname}x"
                   3681:            $show "${rm}r $gentop"
                   3682:            $run ${rm}r "$gentop"
1.12    ! vbancrof 3683:            $show "$mkdir $gentop"
        !          3684:            $run $mkdir "$gentop"
1.7       frystyk  3685:            status=$?
1.12    ! vbancrof 3686:            if test "$status" -ne 0 && test ! -d "$gentop"; then
1.7       frystyk  3687:              exit $status
                   3688:            fi
                   3689:            generated="$generated $gentop"
                   3690: 
                   3691:            for xlib in $convenience; do
                   3692:              # Extract the objects.
1.11      kahan    3693:              case $xlib in
1.7       frystyk  3694:              [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
                   3695:              *) xabs=`pwd`"/$xlib" ;;
                   3696:              esac
                   3697:              xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
                   3698:              xdir="$gentop/$xlib"
                   3699: 
                   3700:              $show "${rm}r $xdir"
                   3701:              $run ${rm}r "$xdir"
1.12    ! vbancrof 3702:              $show "$mkdir $xdir"
        !          3703:              $run $mkdir "$xdir"
1.7       frystyk  3704:              status=$?
1.12    ! vbancrof 3705:              if test "$status" -ne 0 && test ! -d "$xdir"; then
1.7       frystyk  3706:                exit $status
                   3707:              fi
1.12    ! vbancrof 3708:              # We will extract separately just the conflicting names and we will no
        !          3709:              # longer touch any unique names. It is faster to leave these extract
        !          3710:              # automatically by $AR in one run.
1.7       frystyk  3711:              $show "(cd $xdir && $AR x $xabs)"
                   3712:              $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
1.12    ! vbancrof 3713:              if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
        !          3714:                :
        !          3715:              else
        !          3716:                $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
        !          3717:                $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
        !          3718:                $AR t "$xabs" | sort | uniq -cd | while read -r count name
        !          3719:                do
        !          3720:                  i=1
        !          3721:                  while test "$i" -le "$count"
        !          3722:                  do
        !          3723:                   # Put our $i before any first dot (extension)
        !          3724:                   # Never overwrite any file
        !          3725:                   name_to="$name"
        !          3726:                   while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
        !          3727:                   do
        !          3728:                     name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
        !          3729:                   done
        !          3730:                   $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
        !          3731:                   $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
        !          3732:                   i=`expr $i + 1`
        !          3733:                  done
        !          3734:                done
        !          3735:              fi
1.7       frystyk  3736: 
1.12    ! vbancrof 3737:              libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
1.7       frystyk  3738:            done
                   3739:          fi
                   3740:        fi
                   3741: 
                   3742:        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
                   3743:          eval flag=\"$thread_safe_flag_spec\"
1.11      kahan    3744:          linker_flags="$linker_flags $flag"
                   3745:        fi
                   3746: 
                   3747:        # Make a backup of the uninstalled library when relinking
                   3748:        if test "$mode" = relink; then
                   3749:          $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
1.7       frystyk  3750:        fi
                   3751: 
1.3       frystyk  3752:        # Do each of the archive commands.
1.12    ! vbancrof 3753:        if test "$module" = yes && test -n "$module_cmds" ; then
        !          3754:          if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
        !          3755:            eval test_cmds=\"$module_expsym_cmds\"
        !          3756:            cmds=$module_expsym_cmds
        !          3757:          else
        !          3758:            eval test_cmds=\"$module_cmds\"
        !          3759:            cmds=$module_cmds
        !          3760:          fi
        !          3761:        else
1.5       frystyk  3762:        if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
1.12    ! vbancrof 3763:          eval test_cmds=\"$archive_expsym_cmds\"
        !          3764:          cmds=$archive_expsym_cmds
        !          3765:        else
        !          3766:          eval test_cmds=\"$archive_cmds\"
        !          3767:          cmds=$archive_cmds
        !          3768:          fi
        !          3769:        fi
        !          3770: 
        !          3771:        if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
        !          3772:           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
        !          3773:          :
1.4       frystyk  3774:        else
1.12    ! vbancrof 3775:          # The command line is too long to link in one step, link piecewise.
        !          3776:          $echo "creating reloadable object files..."
        !          3777: 
        !          3778:          # Save the value of $output and $libobjs because we want to
        !          3779:          # use them later.  If we have whole_archive_flag_spec, we
        !          3780:          # want to use save_libobjs as it was before
        !          3781:          # whole_archive_flag_spec was expanded, because we can't
        !          3782:          # assume the linker understands whole_archive_flag_spec.
        !          3783:          # This may have to be revisited, in case too many
        !          3784:          # convenience libraries get linked in and end up exceeding
        !          3785:          # the spec.
        !          3786:          if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
        !          3787:            save_libobjs=$libobjs
        !          3788:          fi
        !          3789:          save_output=$output
        !          3790: 
        !          3791:          # Clear the reloadable object creation command queue and
        !          3792:          # initialize k to one.
        !          3793:          test_cmds=
        !          3794:          concat_cmds=
        !          3795:          objlist=
        !          3796:          delfiles=
        !          3797:          last_robj=
        !          3798:          k=1
        !          3799:          output=$output_objdir/$save_output-${k}.$objext
        !          3800:          # Loop over the list of objects to be linked.
        !          3801:          for obj in $save_libobjs
        !          3802:          do
        !          3803:            eval test_cmds=\"$reload_cmds $objlist $last_robj\"
        !          3804:            if test "X$objlist" = X ||
        !          3805:               { len=`expr "X$test_cmds" : ".*"` &&
        !          3806:                 test "$len" -le "$max_cmd_len"; }; then
        !          3807:              objlist="$objlist $obj"
        !          3808:            else
        !          3809:              # The command $test_cmds is almost too long, add a
        !          3810:              # command to the queue.
        !          3811:              if test "$k" -eq 1 ; then
        !          3812:                # The first file doesn't have a previous command to add.
        !          3813:                eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
        !          3814:              else
        !          3815:                # All subsequent reloadable object files will link in
        !          3816:                # the last one created.
        !          3817:                eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
        !          3818:              fi
        !          3819:              last_robj=$output_objdir/$save_output-${k}.$objext
        !          3820:              k=`expr $k + 1`
        !          3821:              output=$output_objdir/$save_output-${k}.$objext
        !          3822:              objlist=$obj
        !          3823:              len=1
        !          3824:            fi
        !          3825:          done
        !          3826:          # Handle the remaining objects by creating one last
        !          3827:          # reloadable object file.  All subsequent reloadable object
        !          3828:          # files will link in the last one created.
        !          3829:          test -z "$concat_cmds" || concat_cmds=$concat_cmds~
        !          3830:          eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
        !          3831: 
        !          3832:          if ${skipped_export-false}; then
        !          3833:            $show "generating symbol list for \`$libname.la'"
        !          3834:            export_symbols="$output_objdir/$libname.exp"
        !          3835:            $run $rm $export_symbols
        !          3836:            libobjs=$output
        !          3837:            # Append the command to create the export file.
        !          3838:            eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
        !          3839:           fi
        !          3840: 
        !          3841:          # Set up a command to remove the reloadale object files
        !          3842:          # after they are used.
        !          3843:          i=0
        !          3844:          while test "$i" -lt "$k"
        !          3845:          do
        !          3846:            i=`expr $i + 1`
        !          3847:            delfiles="$delfiles $output_objdir/$save_output-${i}.$objext"
        !          3848:          done
        !          3849: 
        !          3850:          $echo "creating a temporary reloadable object file: $output"
        !          3851: 
        !          3852:          # Loop through the commands generated above and execute them.
        !          3853:          save_ifs="$IFS"; IFS='~'
        !          3854:          for cmd in $concat_cmds; do
        !          3855:            IFS="$save_ifs"
        !          3856:            $show "$cmd"
        !          3857:            $run eval "$cmd" || exit $?
        !          3858:          done
        !          3859:          IFS="$save_ifs"
        !          3860: 
        !          3861:          libobjs=$output
        !          3862:          # Restore the value of output.
        !          3863:          output=$save_output
        !          3864: 
        !          3865:          if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
        !          3866:            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
        !          3867:          fi
        !          3868:          # Expand the library linking commands again to reset the
        !          3869:          # value of $libobjs for piecewise linking.
        !          3870: 
        !          3871:          # Do each of the archive commands.
        !          3872:          if test "$module" = yes && test -n "$module_cmds" ; then
        !          3873:            if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
        !          3874:              cmds=$module_expsym_cmds
        !          3875:            else
        !          3876:              cmds=$module_cmds
        !          3877:            fi
        !          3878:          else
        !          3879:          if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
        !          3880:            cmds=$archive_expsym_cmds
        !          3881:          else
        !          3882:            cmds=$archive_cmds
        !          3883:            fi
        !          3884:          fi
        !          3885: 
        !          3886:          # Append the command to remove the reloadable object files
        !          3887:          # to the just-reset $cmds.
        !          3888:          eval cmds=\"\$cmds~\$rm $delfiles\"
1.4       frystyk  3889:        fi
1.11      kahan    3890:        save_ifs="$IFS"; IFS='~'
1.3       frystyk  3891:        for cmd in $cmds; do
                   3892:          IFS="$save_ifs"
1.12    ! vbancrof 3893:          eval cmd=\"$cmd\"
1.3       frystyk  3894:          $show "$cmd"
                   3895:          $run eval "$cmd" || exit $?
                   3896:        done
                   3897:        IFS="$save_ifs"
1.1       frystyk  3898: 
1.11      kahan    3899:        # Restore the uninstalled library and exit
                   3900:        if test "$mode" = relink; then
                   3901:          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
1.12    ! vbancrof 3902:          exit $EXIT_SUCCESS
1.11      kahan    3903:        fi
                   3904: 
1.3       frystyk  3905:        # Create links to the real library.
                   3906:        for linkname in $linknames; do
                   3907:          if test "$realname" != "$linkname"; then
1.4       frystyk  3908:            $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
                   3909:            $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
1.3       frystyk  3910:          fi
                   3911:        done
1.1       frystyk  3912: 
1.4       frystyk  3913:        # If -module or -export-dynamic was specified, set the dlname.
                   3914:        if test "$module" = yes || test "$export_dynamic" = yes; then
1.3       frystyk  3915:          # On all known operating systems, these are identical.
                   3916:          dlname="$soname"
                   3917:        fi
1.1       frystyk  3918:       fi
                   3919:       ;;
                   3920: 
1.11      kahan    3921:     obj)
1.1       frystyk  3922:       if test -n "$deplibs"; then
1.4       frystyk  3923:        $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
1.1       frystyk  3924:       fi
                   3925: 
1.5       frystyk  3926:       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.4       frystyk  3927:        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
1.2       frystyk  3928:       fi
                   3929: 
                   3930:       if test -n "$rpath"; then
1.4       frystyk  3931:        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
                   3932:       fi
                   3933: 
                   3934:       if test -n "$xrpath"; then
                   3935:        $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
1.1       frystyk  3936:       fi
                   3937: 
                   3938:       if test -n "$vinfo"; then
1.4       frystyk  3939:        $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
1.2       frystyk  3940:       fi
                   3941: 
                   3942:       if test -n "$release"; then
1.4       frystyk  3943:        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
1.1       frystyk  3944:       fi
                   3945: 
1.11      kahan    3946:       case $output in
1.1       frystyk  3947:       *.lo)
1.11      kahan    3948:        if test -n "$objs$old_deplibs"; then
1.4       frystyk  3949:          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
1.12    ! vbancrof 3950:          exit $EXIT_FAILURE
1.4       frystyk  3951:        fi
                   3952:        libobj="$output"
                   3953:        obj=`$echo "X$output" | $Xsed -e "$lo2o"`
                   3954:        ;;
1.1       frystyk  3955:       *)
1.4       frystyk  3956:        libobj=
                   3957:        obj="$output"
                   3958:        ;;
1.1       frystyk  3959:       esac
                   3960: 
                   3961:       # Delete the old objects.
                   3962:       $run $rm $obj $libobj
                   3963: 
1.7       frystyk  3964:       # Objects from convenience libraries.  This assumes
                   3965:       # single-version convenience libraries.  Whenever we create
                   3966:       # different ones for PIC/non-PIC, this we'll have to duplicate
                   3967:       # the extraction.
                   3968:       reload_conv_objs=
                   3969:       gentop=
                   3970:       # reload_cmds runs $LD directly, so let us get rid of
                   3971:       # -Wl from whole_archive_flag_spec
1.11      kahan    3972:       wl=
1.7       frystyk  3973: 
                   3974:       if test -n "$convenience"; then
                   3975:        if test -n "$whole_archive_flag_spec"; then
                   3976:          eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
                   3977:        else
                   3978:          gentop="$output_objdir/${obj}x"
                   3979:          $show "${rm}r $gentop"
                   3980:          $run ${rm}r "$gentop"
1.12    ! vbancrof 3981:          $show "$mkdir $gentop"
        !          3982:          $run $mkdir "$gentop"
1.7       frystyk  3983:          status=$?
1.12    ! vbancrof 3984:          if test "$status" -ne 0 && test ! -d "$gentop"; then
1.7       frystyk  3985:            exit $status
                   3986:          fi
                   3987:          generated="$generated $gentop"
                   3988: 
                   3989:          for xlib in $convenience; do
                   3990:            # Extract the objects.
1.11      kahan    3991:            case $xlib in
1.7       frystyk  3992:            [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
                   3993:            *) xabs=`pwd`"/$xlib" ;;
                   3994:            esac
                   3995:            xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
                   3996:            xdir="$gentop/$xlib"
                   3997: 
                   3998:            $show "${rm}r $xdir"
                   3999:            $run ${rm}r "$xdir"
1.12    ! vbancrof 4000:            $show "$mkdir $xdir"
        !          4001:            $run $mkdir "$xdir"
1.7       frystyk  4002:            status=$?
1.12    ! vbancrof 4003:            if test "$status" -ne 0 && test ! -d "$xdir"; then
1.7       frystyk  4004:              exit $status
                   4005:            fi
1.12    ! vbancrof 4006:            # We will extract separately just the conflicting names and we will no
        !          4007:            # longer touch any unique names. It is faster to leave these extract
        !          4008:            # automatically by $AR in one run.
1.7       frystyk  4009:            $show "(cd $xdir && $AR x $xabs)"
                   4010:            $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
1.12    ! vbancrof 4011:            if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
        !          4012:              :
        !          4013:            else
        !          4014:              $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
        !          4015:              $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
        !          4016:              $AR t "$xabs" | sort | uniq -cd | while read -r count name
        !          4017:              do
        !          4018:                i=1
        !          4019:                while test "$i" -le "$count"
        !          4020:                do
        !          4021:                 # Put our $i before any first dot (extension)
        !          4022:                 # Never overwrite any file
        !          4023:                 name_to="$name"
        !          4024:                 while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
        !          4025:                 do
        !          4026:                   name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
        !          4027:                 done
        !          4028:                 $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
        !          4029:                 $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
        !          4030:                 i=`expr $i + 1`
        !          4031:                done
        !          4032:              done
        !          4033:            fi
1.7       frystyk  4034: 
1.12    ! vbancrof 4035:            reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
1.7       frystyk  4036:          done
                   4037:        fi
                   4038:       fi
                   4039: 
1.1       frystyk  4040:       # Create the old-style object.
1.11      kahan    4041:       reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
1.1       frystyk  4042: 
                   4043:       output="$obj"
1.12    ! vbancrof 4044:       cmds=$reload_cmds
1.11      kahan    4045:       save_ifs="$IFS"; IFS='~'
1.1       frystyk  4046:       for cmd in $cmds; do
1.4       frystyk  4047:        IFS="$save_ifs"
1.12    ! vbancrof 4048:        eval cmd=\"$cmd\"
1.4       frystyk  4049:        $show "$cmd"
                   4050:        $run eval "$cmd" || exit $?
1.1       frystyk  4051:       done
                   4052:       IFS="$save_ifs"
                   4053: 
                   4054:       # Exit if we aren't doing a library object file.
1.7       frystyk  4055:       if test -z "$libobj"; then
                   4056:        if test -n "$gentop"; then
                   4057:          $show "${rm}r $gentop"
                   4058:          $run ${rm}r $gentop
                   4059:        fi
                   4060: 
1.12    ! vbancrof 4061:        exit $EXIT_SUCCESS
1.7       frystyk  4062:       fi
1.1       frystyk  4063: 
                   4064:       if test "$build_libtool_libs" != yes; then
1.7       frystyk  4065:        if test -n "$gentop"; then
                   4066:          $show "${rm}r $gentop"
                   4067:          $run ${rm}r $gentop
                   4068:        fi
                   4069: 
1.4       frystyk  4070:        # Create an invalid libtool object if no PIC, so that we don't
                   4071:        # accidentally link it into a program.
1.12    ! vbancrof 4072:        # $show "echo timestamp > $libobj"
        !          4073:        # $run eval "echo timestamp > $libobj" || exit $?
        !          4074:        exit $EXIT_SUCCESS
1.1       frystyk  4075:       fi
                   4076: 
1.11      kahan    4077:       if test -n "$pic_flag" || test "$pic_mode" != default; then
1.4       frystyk  4078:        # Only do commands if we really have different PIC objects.
1.7       frystyk  4079:        reload_objs="$libobjs $reload_conv_objs"
1.4       frystyk  4080:        output="$libobj"
1.12    ! vbancrof 4081:        cmds=$reload_cmds
1.11      kahan    4082:        save_ifs="$IFS"; IFS='~'
1.4       frystyk  4083:        for cmd in $cmds; do
                   4084:          IFS="$save_ifs"
1.12    ! vbancrof 4085:          eval cmd=\"$cmd\"
1.4       frystyk  4086:          $show "$cmd"
                   4087:          $run eval "$cmd" || exit $?
                   4088:        done
                   4089:        IFS="$save_ifs"
1.1       frystyk  4090:       fi
                   4091: 
1.7       frystyk  4092:       if test -n "$gentop"; then
                   4093:        $show "${rm}r $gentop"
                   4094:        $run ${rm}r $gentop
                   4095:       fi
                   4096: 
1.12    ! vbancrof 4097:       exit $EXIT_SUCCESS
1.1       frystyk  4098:       ;;
                   4099: 
1.11      kahan    4100:     prog)
                   4101:       case $host in
1.12    ! vbancrof 4102:        *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
1.11      kahan    4103:       esac
1.2       frystyk  4104:       if test -n "$vinfo"; then
1.4       frystyk  4105:        $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
1.1       frystyk  4106:       fi
                   4107: 
1.2       frystyk  4108:       if test -n "$release"; then
1.4       frystyk  4109:        $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
1.1       frystyk  4110:       fi
                   4111: 
1.5       frystyk  4112:       if test "$preload" = yes; then
1.11      kahan    4113:        if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
1.5       frystyk  4114:           test "$dlopen_self_static" = unknown; then
                   4115:          $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
1.11      kahan    4116:        fi
1.5       frystyk  4117:       fi
1.11      kahan    4118: 
                   4119:       case $host in
                   4120:       *-*-rhapsody* | *-*-darwin1.[012])
                   4121:        # On Rhapsody replace the C library is the System framework
                   4122:        compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
                   4123:        finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
                   4124:        ;;
                   4125:       esac
                   4126: 
1.12    ! vbancrof 4127:       case $host in
        !          4128:       *darwin*)
        !          4129:         # Don't allow lazy linking, it breaks C++ global constructors
        !          4130:         if test "$tagname" = CXX ; then
        !          4131:         compile_command="$compile_command ${wl}-bind_at_load"
        !          4132:         finalize_command="$finalize_command ${wl}-bind_at_load"
        !          4133:         fi
        !          4134:         ;;
        !          4135:       esac
        !          4136: 
1.11      kahan    4137:       compile_command="$compile_command $compile_deplibs"
                   4138:       finalize_command="$finalize_command $finalize_deplibs"
                   4139: 
1.4       frystyk  4140:       if test -n "$rpath$xrpath"; then
1.2       frystyk  4141:        # If the user specified any rpath flags, then add them.
1.4       frystyk  4142:        for libdir in $rpath $xrpath; do
1.5       frystyk  4143:          # This is the magic to use -rpath.
                   4144:          case "$finalize_rpath " in
                   4145:          *" $libdir "*) ;;
                   4146:          *) finalize_rpath="$finalize_rpath $libdir" ;;
                   4147:          esac
                   4148:        done
                   4149:       fi
1.4       frystyk  4150: 
1.5       frystyk  4151:       # Now hardcode the library paths
                   4152:       rpath=
                   4153:       hardcode_libdirs=
                   4154:       for libdir in $compile_rpath $finalize_rpath; do
                   4155:        if test -n "$hardcode_libdir_flag_spec"; then
                   4156:          if test -n "$hardcode_libdir_separator"; then
                   4157:            if test -z "$hardcode_libdirs"; then
                   4158:              hardcode_libdirs="$libdir"
                   4159:            else
                   4160:              # Just accumulate the unique libdirs.
1.11      kahan    4161:              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
1.5       frystyk  4162:              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                   4163:                ;;
                   4164:              *)
                   4165:                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
                   4166:                ;;
                   4167:              esac
1.4       frystyk  4168:            fi
1.5       frystyk  4169:          else
                   4170:            eval flag=\"$hardcode_libdir_flag_spec\"
                   4171:            rpath="$rpath $flag"
                   4172:          fi
                   4173:        elif test -n "$runpath_var"; then
                   4174:          case "$perm_rpath " in
                   4175:          *" $libdir "*) ;;
                   4176:          *) perm_rpath="$perm_rpath $libdir" ;;
                   4177:          esac
                   4178:        fi
1.11      kahan    4179:        case $host in
                   4180:        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
                   4181:          case :$dllsearchpath: in
                   4182:          *":$libdir:"*) ;;
                   4183:          *) dllsearchpath="$dllsearchpath:$libdir";;
                   4184:          esac
                   4185:          ;;
                   4186:        esac
1.5       frystyk  4187:       done
                   4188:       # Substitute the hardcoded libdirs into the rpath.
                   4189:       if test -n "$hardcode_libdir_separator" &&
                   4190:         test -n "$hardcode_libdirs"; then
                   4191:        libdir="$hardcode_libdirs"
                   4192:        eval rpath=\" $hardcode_libdir_flag_spec\"
                   4193:       fi
                   4194:       compile_rpath="$rpath"
                   4195: 
                   4196:       rpath=
                   4197:       hardcode_libdirs=
                   4198:       for libdir in $finalize_rpath; do
                   4199:        if test -n "$hardcode_libdir_flag_spec"; then
                   4200:          if test -n "$hardcode_libdir_separator"; then
                   4201:            if test -z "$hardcode_libdirs"; then
                   4202:              hardcode_libdirs="$libdir"
                   4203:            else
                   4204:              # Just accumulate the unique libdirs.
1.11      kahan    4205:              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
1.5       frystyk  4206:              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                   4207:                ;;
                   4208:              *)
                   4209:                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
                   4210:                ;;
                   4211:              esac
1.4       frystyk  4212:            fi
1.5       frystyk  4213:          else
                   4214:            eval flag=\"$hardcode_libdir_flag_spec\"
                   4215:            rpath="$rpath $flag"
1.4       frystyk  4216:          fi
1.5       frystyk  4217:        elif test -n "$runpath_var"; then
                   4218:          case "$finalize_perm_rpath " in
                   4219:          *" $libdir "*) ;;
                   4220:          *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
                   4221:          esac
                   4222:        fi
                   4223:       done
                   4224:       # Substitute the hardcoded libdirs into the rpath.
                   4225:       if test -n "$hardcode_libdir_separator" &&
                   4226:         test -n "$hardcode_libdirs"; then
                   4227:        libdir="$hardcode_libdirs"
                   4228:        eval rpath=\" $hardcode_libdir_flag_spec\"
1.4       frystyk  4229:       fi
1.5       frystyk  4230:       finalize_rpath="$rpath"
1.4       frystyk  4231: 
1.2       frystyk  4232:       if test -n "$libobjs" && test "$build_old_libs" = yes; then
1.4       frystyk  4233:        # Transform all the library objects into standard objects.
                   4234:        compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
                   4235:        finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.2       frystyk  4236:       fi
                   4237: 
1.5       frystyk  4238:       dlsyms=
1.7       frystyk  4239:       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.5       frystyk  4240:        if test -n "$NM" && test -n "$global_symbol_pipe"; then
                   4241:          dlsyms="${outputname}S.c"
                   4242:        else
                   4243:          $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
                   4244:        fi
1.2       frystyk  4245:       fi
                   4246: 
                   4247:       if test -n "$dlsyms"; then
1.11      kahan    4248:        case $dlsyms in
1.4       frystyk  4249:        "") ;;
                   4250:        *.c)
                   4251:          # Discover the nlist of each of the dlfiles.
1.5       frystyk  4252:          nlist="$output_objdir/${outputname}.nm"
1.1       frystyk  4253: 
1.5       frystyk  4254:          $show "$rm $nlist ${nlist}S ${nlist}T"
                   4255:          $run $rm "$nlist" "${nlist}S" "${nlist}T"
1.2       frystyk  4256: 
1.4       frystyk  4257:          # Parse the name list into a source file.
1.5       frystyk  4258:          $show "creating $output_objdir/$dlsyms"
1.2       frystyk  4259: 
1.5       frystyk  4260:          test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
1.4       frystyk  4261: /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
                   4262: /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
1.2       frystyk  4263: 
                   4264: #ifdef __cplusplus
                   4265: extern \"C\" {
                   4266: #endif
                   4267: 
                   4268: /* Prevent the only kind of declaration conflicts we can make. */
1.4       frystyk  4269: #define lt_preloaded_symbols some_other_symbol
1.2       frystyk  4270: 
1.3       frystyk  4271: /* External symbol declarations for the compiler. */\
                   4272: "
1.2       frystyk  4273: 
1.5       frystyk  4274:          if test "$dlself" = yes; then
                   4275:            $show "generating symbol list for \`$output'"
                   4276: 
                   4277:            test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
                   4278: 
                   4279:            # Add our own program objects to the symbol list.
1.11      kahan    4280:            progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.5       frystyk  4281:            for arg in $progfiles; do
                   4282:              $show "extracting global C symbols from \`$arg'"
                   4283:              $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
                   4284:            done
                   4285: 
                   4286:            if test -n "$exclude_expsyms"; then
1.12    ! vbancrof 4287:              $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
1.5       frystyk  4288:              $run eval '$mv "$nlist"T "$nlist"'
                   4289:            fi
1.11      kahan    4290: 
1.5       frystyk  4291:            if test -n "$export_symbols_regex"; then
1.12    ! vbancrof 4292:              $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
1.5       frystyk  4293:              $run eval '$mv "$nlist"T "$nlist"'
                   4294:            fi
                   4295: 
                   4296:            # Prepare the list of exported symbols
                   4297:            if test -z "$export_symbols"; then
                   4298:              export_symbols="$output_objdir/$output.exp"
                   4299:              $run $rm $export_symbols
1.12    ! vbancrof 4300:              $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
1.5       frystyk  4301:            else
1.12    ! vbancrof 4302:              $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
1.5       frystyk  4303:              $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
                   4304:              $run eval 'mv "$nlist"T "$nlist"'
                   4305:            fi
1.4       frystyk  4306:          fi
                   4307: 
                   4308:          for arg in $dlprefiles; do
                   4309:            $show "extracting global C symbols from \`$arg'"
1.12    ! vbancrof 4310:            name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
        !          4311:            $run eval '$echo ": $name " >> "$nlist"'
1.4       frystyk  4312:            $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
                   4313:          done
                   4314: 
                   4315:          if test -z "$run"; then
                   4316:            # Make sure we have at least an empty file.
                   4317:            test -f "$nlist" || : > "$nlist"
                   4318: 
1.5       frystyk  4319:            if test -n "$exclude_expsyms"; then
1.12    ! vbancrof 4320:              $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
1.5       frystyk  4321:              $mv "$nlist"T "$nlist"
                   4322:            fi
                   4323: 
1.4       frystyk  4324:            # Try sorting and uniquifying the output.
1.12    ! vbancrof 4325:            if grep -v "^: " < "$nlist" |
        !          4326:                if sort -k 3 </dev/null >/dev/null 2>&1; then
        !          4327:                  sort -k 3
        !          4328:                else
        !          4329:                  sort +2
        !          4330:                fi |
        !          4331:                uniq > "$nlist"S; then
1.5       frystyk  4332:              :
1.4       frystyk  4333:            else
1.5       frystyk  4334:              grep -v "^: " < "$nlist" > "$nlist"S
1.4       frystyk  4335:            fi
                   4336: 
1.5       frystyk  4337:            if test -f "$nlist"S; then
                   4338:              eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
1.2       frystyk  4339:            else
1.12    ! vbancrof 4340:              $echo '/* NONE */' >> "$output_objdir/$dlsyms"
1.2       frystyk  4341:            fi
                   4342: 
1.4       frystyk  4343:            $echo >> "$output_objdir/$dlsyms" "\
1.3       frystyk  4344: 
1.4       frystyk  4345: #undef lt_preloaded_symbols
1.2       frystyk  4346: 
                   4347: #if defined (__STDC__) && __STDC__
1.11      kahan    4348: # define lt_ptr void *
1.2       frystyk  4349: #else
1.11      kahan    4350: # define lt_ptr char *
1.4       frystyk  4351: # define const
1.2       frystyk  4352: #endif
                   4353: 
                   4354: /* The mapping between symbol names and symbols. */
1.4       frystyk  4355: const struct {
                   4356:   const char *name;
1.11      kahan    4357:   lt_ptr address;
1.2       frystyk  4358: }
1.4       frystyk  4359: lt_preloaded_symbols[] =
1.3       frystyk  4360: {\
                   4361: "
1.2       frystyk  4362: 
1.11      kahan    4363:            eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
1.4       frystyk  4364: 
                   4365:            $echo >> "$output_objdir/$dlsyms" "\
1.11      kahan    4366:   {0, (lt_ptr) 0}
1.2       frystyk  4367: };
                   4368: 
1.4       frystyk  4369: /* This works around a problem in FreeBSD linker */
1.5       frystyk  4370: #ifdef FREEBSD_WORKAROUND
1.4       frystyk  4371: static const void *lt_preloaded_setup() {
                   4372:   return lt_preloaded_symbols;
                   4373: }
1.5       frystyk  4374: #endif
1.4       frystyk  4375: 
1.2       frystyk  4376: #ifdef __cplusplus
                   4377: }
1.3       frystyk  4378: #endif\
                   4379: "
1.4       frystyk  4380:          fi
1.2       frystyk  4381: 
1.5       frystyk  4382:          pic_flag_for_symtable=
1.11      kahan    4383:          case $host in
1.5       frystyk  4384:          # compiling the symbol table file with pic_flag works around
                   4385:          # a FreeBSD bug that causes programs to crash when -lm is
                   4386:          # linked before any other PIC object.  But we must not use
                   4387:          # pic_flag when linking with -static.  The problem exists in
                   4388:          # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
1.11      kahan    4389:          *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
1.5       frystyk  4390:            case "$compile_command " in
                   4391:            *" -static "*) ;;
1.12    ! vbancrof 4392:            *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
1.11      kahan    4393:            esac;;
                   4394:          *-*-hpux*)
                   4395:            case "$compile_command " in
                   4396:            *" -static "*) ;;
1.12    ! vbancrof 4397:            *) pic_flag_for_symtable=" $pic_flag";;
1.5       frystyk  4398:            esac
                   4399:          esac
                   4400: 
1.4       frystyk  4401:          # Now compile the dynamic symbol file.
1.12    ! vbancrof 4402:          $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
        !          4403:          $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
1.5       frystyk  4404: 
                   4405:          # Clean up the generated files.
                   4406:          $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
                   4407:          $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
1.4       frystyk  4408: 
                   4409:          # Transform the symbol file into the correct name.
1.5       frystyk  4410:          compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
                   4411:          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
1.4       frystyk  4412:          ;;
                   4413:        *)
                   4414:          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
1.12    ! vbancrof 4415:          exit $EXIT_FAILURE
1.4       frystyk  4416:          ;;
                   4417:        esac
                   4418:       else
                   4419:        # We keep going just in case the user didn't refer to
                   4420:        # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
                   4421:        # really was required.
1.2       frystyk  4422: 
1.4       frystyk  4423:        # Nullify the symbol file.
                   4424:        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
                   4425:        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1.2       frystyk  4426:       fi
                   4427: 
1.12    ! vbancrof 4428:       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
1.4       frystyk  4429:        # Replace the output file specification.
                   4430:        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1.5       frystyk  4431:        link_command="$compile_command$compile_rpath"
1.4       frystyk  4432: 
                   4433:        # We have no uninstalled library dependencies, so finalize right now.
1.5       frystyk  4434:        $show "$link_command"
                   4435:        $run eval "$link_command"
1.2       frystyk  4436:        status=$?
1.11      kahan    4437: 
1.5       frystyk  4438:        # Delete the generated files.
                   4439:        if test -n "$dlsyms"; then
                   4440:          $show "$rm $output_objdir/${outputname}S.${objext}"
                   4441:          $run $rm "$output_objdir/${outputname}S.${objext}"
1.2       frystyk  4442:        fi
1.5       frystyk  4443: 
                   4444:        exit $status
1.1       frystyk  4445:       fi
                   4446: 
                   4447:       if test -n "$shlibpath_var"; then
1.4       frystyk  4448:        # We should set the shlibpath_var
                   4449:        rpath=
                   4450:        for dir in $temp_rpath; do
1.11      kahan    4451:          case $dir in
1.5       frystyk  4452:          [\\/]* | [A-Za-z]:[\\/]*)
1.4       frystyk  4453:            # Absolute path.
                   4454:            rpath="$rpath$dir:"
                   4455:            ;;
                   4456:          *)
                   4457:            # Relative path: add a thisdir entry.
                   4458:            rpath="$rpath\$thisdir/$dir:"
                   4459:            ;;
                   4460:          esac
                   4461:        done
                   4462:        temp_rpath="$rpath"
1.1       frystyk  4463:       fi
                   4464: 
1.5       frystyk  4465:       if test -n "$compile_shlibpath$finalize_shlibpath"; then
                   4466:        compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
1.1       frystyk  4467:       fi
                   4468:       if test -n "$finalize_shlibpath"; then
1.4       frystyk  4469:        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
1.1       frystyk  4470:       fi
                   4471: 
1.5       frystyk  4472:       compile_var=
                   4473:       finalize_var=
1.4       frystyk  4474:       if test -n "$runpath_var"; then
1.5       frystyk  4475:        if test -n "$perm_rpath"; then
1.4       frystyk  4476:          # We should set the runpath_var.
                   4477:          rpath=
                   4478:          for dir in $perm_rpath; do
                   4479:            rpath="$rpath$dir:"
                   4480:          done
1.5       frystyk  4481:          compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
1.4       frystyk  4482:        fi
1.5       frystyk  4483:        if test -n "$finalize_perm_rpath"; then
1.4       frystyk  4484:          # We should set the runpath_var.
                   4485:          rpath=
                   4486:          for dir in $finalize_perm_rpath; do
                   4487:            rpath="$rpath$dir:"
                   4488:          done
1.5       frystyk  4489:          finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
1.4       frystyk  4490:        fi
1.1       frystyk  4491:       fi
                   4492: 
1.11      kahan    4493:       if test "$no_install" = yes; then
                   4494:        # We don't need to create a wrapper script.
                   4495:        link_command="$compile_var$compile_command$compile_rpath"
                   4496:        # Replace the output file specification.
                   4497:        link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
                   4498:        # Delete the old output file.
                   4499:        $run $rm $output
                   4500:        # Link the executable and exit
                   4501:        $show "$link_command"
                   4502:        $run eval "$link_command" || exit $?
1.12    ! vbancrof 4503:        exit $EXIT_SUCCESS
1.11      kahan    4504:       fi
                   4505: 
1.3       frystyk  4506:       if test "$hardcode_action" = relink; then
1.5       frystyk  4507:        # Fast installation is not supported
                   4508:        link_command="$compile_var$compile_command$compile_rpath"
                   4509:        relink_command="$finalize_var$finalize_command$finalize_rpath"
1.11      kahan    4510: 
1.4       frystyk  4511:        $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
                   4512:        $echo "$modename: \`$output' will be relinked during installation" 1>&2
1.5       frystyk  4513:       else
                   4514:        if test "$fast_install" != no; then
                   4515:          link_command="$finalize_var$compile_command$finalize_rpath"
                   4516:          if test "$fast_install" = yes; then
                   4517:            relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
                   4518:          else
                   4519:            # fast_install is set to needless
                   4520:            relink_command=
                   4521:          fi
                   4522:        else
                   4523:          link_command="$compile_var$compile_command$compile_rpath"
                   4524:          relink_command="$finalize_var$finalize_command$finalize_rpath"
                   4525:        fi
1.3       frystyk  4526:       fi
1.1       frystyk  4527: 
1.5       frystyk  4528:       # Replace the output file specification.
                   4529:       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
1.11      kahan    4530: 
1.5       frystyk  4531:       # Delete the old output files.
                   4532:       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
                   4533: 
                   4534:       $show "$link_command"
                   4535:       $run eval "$link_command" || exit $?
1.1       frystyk  4536: 
                   4537:       # Now create the wrapper script.
1.2       frystyk  4538:       $show "creating $output"
                   4539: 
1.5       frystyk  4540:       # Quote the relink command for shipping.
                   4541:       if test -n "$relink_command"; then
1.11      kahan    4542:        # Preserve any variables that may affect compiler behavior
                   4543:        for var in $variables_saved_for_relink; do
                   4544:          if eval test -z \"\${$var+set}\"; then
                   4545:            relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
                   4546:          elif eval var_value=\$$var; test -z "$var_value"; then
                   4547:            relink_command="$var=; export $var; $relink_command"
                   4548:          else
                   4549:            var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
                   4550:            relink_command="$var=\"$var_value\"; export $var; $relink_command"
                   4551:          fi
                   4552:        done
                   4553:        relink_command="(cd `pwd`; $relink_command)"
1.5       frystyk  4554:        relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
                   4555:       fi
1.2       frystyk  4556: 
                   4557:       # Quote $echo for shipping.
1.12    ! vbancrof 4558:       if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
        !          4559:        case $progpath in
        !          4560:        [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
        !          4561:        *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
1.4       frystyk  4562:        esac
                   4563:        qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
                   4564:       else
                   4565:        qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
                   4566:       fi
1.1       frystyk  4567: 
                   4568:       # Only actually do things if our run command is non-null.
                   4569:       if test -z "$run"; then
1.4       frystyk  4570:        # win32 will think the script is a binary if it has
                   4571:        # a .exe suffix, so we strip it off here.
                   4572:        case $output in
1.12    ! vbancrof 4573:          *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
1.4       frystyk  4574:        esac
1.11      kahan    4575:        # test for cygwin because mv fails w/o .exe extensions
                   4576:        case $host in
1.12    ! vbancrof 4577:          *cygwin*)
        !          4578:            exeext=.exe
        !          4579:            outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
1.11      kahan    4580:          *) exeext= ;;
                   4581:        esac
1.12    ! vbancrof 4582:        case $host in
        !          4583:          *cygwin* | *mingw* )
        !          4584:            cwrappersource=`$echo ${objdir}/lt-${output}.c`
        !          4585:            cwrapper=`$echo ${output}.exe`
        !          4586:            $rm $cwrappersource $cwrapper
        !          4587:            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
        !          4588: 
        !          4589:            cat > $cwrappersource <<EOF
        !          4590: 
        !          4591: /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
        !          4592:    Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
        !          4593: 
        !          4594:    The $output program cannot be directly executed until all the libtool
        !          4595:    libraries that it depends on are installed.
        !          4596: 
        !          4597:    This wrapper executable should never be moved out of the build directory.
        !          4598:    If it is, it will not operate correctly.
        !          4599: 
        !          4600:    Currently, it simply execs the wrapper *script* "/bin/sh $output",
        !          4601:    but could eventually absorb all of the scripts functionality and
        !          4602:    exec $objdir/$outputname directly.
        !          4603: */
        !          4604: EOF
        !          4605:            cat >> $cwrappersource<<"EOF"
        !          4606: #include <stdio.h>
        !          4607: #include <stdlib.h>
        !          4608: #include <unistd.h>
        !          4609: #include <malloc.h>
        !          4610: #include <stdarg.h>
        !          4611: #include <assert.h>
        !          4612: 
        !          4613: #if defined(PATH_MAX)
        !          4614: # define LT_PATHMAX PATH_MAX
        !          4615: #elif defined(MAXPATHLEN)
        !          4616: # define LT_PATHMAX MAXPATHLEN
        !          4617: #else
        !          4618: # define LT_PATHMAX 1024
        !          4619: #endif
        !          4620: 
        !          4621: #ifndef DIR_SEPARATOR
        !          4622: #define DIR_SEPARATOR '/'
        !          4623: #endif
        !          4624: 
        !          4625: #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
        !          4626:   defined (__OS2__)
        !          4627: #define HAVE_DOS_BASED_FILE_SYSTEM
        !          4628: #ifndef DIR_SEPARATOR_2
        !          4629: #define DIR_SEPARATOR_2 '\\'
        !          4630: #endif
        !          4631: #endif
        !          4632: 
        !          4633: #ifndef DIR_SEPARATOR_2
        !          4634: # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
        !          4635: #else /* DIR_SEPARATOR_2 */
        !          4636: # define IS_DIR_SEPARATOR(ch) \
        !          4637:         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
        !          4638: #endif /* DIR_SEPARATOR_2 */
        !          4639: 
        !          4640: #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
        !          4641: #define XFREE(stale) do { \
        !          4642:   if (stale) { free ((void *) stale); stale = 0; } \
        !          4643: } while (0)
        !          4644: 
        !          4645: const char *program_name = NULL;
        !          4646: 
        !          4647: void * xmalloc (size_t num);
        !          4648: char * xstrdup (const char *string);
        !          4649: char * basename (const char *name);
        !          4650: char * fnqualify(const char *path);
        !          4651: char * strendzap(char *str, const char *pat);
        !          4652: void lt_fatal (const char *message, ...);
        !          4653: 
        !          4654: int
        !          4655: main (int argc, char *argv[])
        !          4656: {
        !          4657:   char **newargz;
        !          4658:   int i;
        !          4659: 
        !          4660:   program_name = (char *) xstrdup ((char *) basename (argv[0]));
        !          4661:   newargz = XMALLOC(char *, argc+2);
        !          4662: EOF
        !          4663: 
        !          4664:            cat >> $cwrappersource <<EOF
        !          4665:   newargz[0] = "$SHELL";
        !          4666: EOF
        !          4667: 
        !          4668:            cat >> $cwrappersource <<"EOF"
        !          4669:   newargz[1] = fnqualify(argv[0]);
        !          4670:   /* we know the script has the same name, without the .exe */
        !          4671:   /* so make sure newargz[1] doesn't end in .exe */
        !          4672:   strendzap(newargz[1],".exe");
        !          4673:   for (i = 1; i < argc; i++)
        !          4674:     newargz[i+1] = xstrdup(argv[i]);
        !          4675:   newargz[argc+1] = NULL;
        !          4676: EOF
        !          4677: 
        !          4678:            cat >> $cwrappersource <<EOF
        !          4679:   execv("$SHELL",newargz);
        !          4680: EOF
        !          4681: 
        !          4682:            cat >> $cwrappersource <<"EOF"
        !          4683: }
        !          4684: 
        !          4685: void *
        !          4686: xmalloc (size_t num)
        !          4687: {
        !          4688:   void * p = (void *) malloc (num);
        !          4689:   if (!p)
        !          4690:     lt_fatal ("Memory exhausted");
        !          4691: 
        !          4692:   return p;
        !          4693: }
        !          4694: 
        !          4695: char *
        !          4696: xstrdup (const char *string)
        !          4697: {
        !          4698:   return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
        !          4699: ;
        !          4700: }
        !          4701: 
        !          4702: char *
        !          4703: basename (const char *name)
        !          4704: {
        !          4705:   const char *base;
        !          4706: 
        !          4707: #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
        !          4708:   /* Skip over the disk name in MSDOS pathnames. */
        !          4709:   if (isalpha (name[0]) && name[1] == ':')
        !          4710:     name += 2;
        !          4711: #endif
        !          4712: 
        !          4713:   for (base = name; *name; name++)
        !          4714:     if (IS_DIR_SEPARATOR (*name))
        !          4715:       base = name + 1;
        !          4716:   return (char *) base;
        !          4717: }
        !          4718: 
        !          4719: char *
        !          4720: fnqualify(const char *path)
        !          4721: {
        !          4722:   size_t size;
        !          4723:   char *p;
        !          4724:   char tmp[LT_PATHMAX + 1];
        !          4725: 
        !          4726:   assert(path != NULL);
        !          4727: 
        !          4728:   /* Is it qualified already? */
        !          4729: #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
        !          4730:   if (isalpha (path[0]) && path[1] == ':')
        !          4731:     return xstrdup (path);
        !          4732: #endif
        !          4733:   if (IS_DIR_SEPARATOR (path[0]))
        !          4734:     return xstrdup (path);
        !          4735: 
        !          4736:   /* prepend the current directory */
        !          4737:   /* doesn't handle '~' */
        !          4738:   if (getcwd (tmp, LT_PATHMAX) == NULL)
        !          4739:     lt_fatal ("getcwd failed");
        !          4740:   size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
        !          4741:   p = XMALLOC(char, size);
        !          4742:   sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
        !          4743:   return p;
        !          4744: }
        !          4745: 
        !          4746: char *
        !          4747: strendzap(char *str, const char *pat)
        !          4748: {
        !          4749:   size_t len, patlen;
        !          4750: 
        !          4751:   assert(str != NULL);
        !          4752:   assert(pat != NULL);
        !          4753: 
        !          4754:   len = strlen(str);
        !          4755:   patlen = strlen(pat);
        !          4756: 
        !          4757:   if (patlen <= len)
        !          4758:   {
        !          4759:     str += len - patlen;
        !          4760:     if (strcmp(str, pat) == 0)
        !          4761:       *str = '\0';
        !          4762:   }
        !          4763:   return str;
        !          4764: }
        !          4765: 
        !          4766: static void
        !          4767: lt_error_core (int exit_status, const char * mode,
        !          4768:           const char * message, va_list ap)
        !          4769: {
        !          4770:   fprintf (stderr, "%s: %s: ", program_name, mode);
        !          4771:   vfprintf (stderr, message, ap);
        !          4772:   fprintf (stderr, ".\n");
        !          4773: 
        !          4774:   if (exit_status >= 0)
        !          4775:     exit (exit_status);
        !          4776: }
        !          4777: 
        !          4778: void
        !          4779: lt_fatal (const char *message, ...)
        !          4780: {
        !          4781:   va_list ap;
        !          4782:   va_start (ap, message);
        !          4783:   lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
        !          4784:   va_end (ap);
        !          4785: }
        !          4786: EOF
        !          4787:          # we should really use a build-platform specific compiler
        !          4788:          # here, but OTOH, the wrappers (shell script and this C one)
        !          4789:          # are only useful if you want to execute the "real" binary.
        !          4790:          # Since the "real" binary is built for $host, then this
        !          4791:          # wrapper might as well be built for $host, too.
        !          4792:          $run $LTCC -s -o $cwrapper $cwrappersource
        !          4793:          ;;
        !          4794:        esac
1.4       frystyk  4795:        $rm $output
1.12    ! vbancrof 4796:        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
1.1       frystyk  4797: 
1.4       frystyk  4798:        $echo > $output "\
1.3       frystyk  4799: #! $SHELL
1.1       frystyk  4800: 
1.4       frystyk  4801: # $output - temporary wrapper script for $objdir/$outputname
                   4802: # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.1       frystyk  4803: #
                   4804: # The $output program cannot be directly executed until all the libtool
                   4805: # libraries that it depends on are installed.
                   4806: #
1.4       frystyk  4807: # This wrapper script should never be moved out of the build directory.
1.1       frystyk  4808: # If it is, it will not operate correctly.
                   4809: 
1.2       frystyk  4810: # Sed substitution that helps us do robust quoting.  It backslashifies
                   4811: # metacharacters that are still active within double-quoted strings.
1.12    ! vbancrof 4812: Xsed='${SED} -e 1s/^X//'
1.2       frystyk  4813: sed_quote_subst='$sed_quote_subst'
                   4814: 
                   4815: # The HP-UX ksh and POSIX shell print the target directory to stdout
                   4816: # if CDPATH is set.
1.11      kahan    4817: if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
1.2       frystyk  4818: 
1.5       frystyk  4819: relink_command=\"$relink_command\"
                   4820: 
1.1       frystyk  4821: # This environment variable determines our operation mode.
1.2       frystyk  4822: if test \"\$libtool_install_magic\" = \"$magic\"; then
1.5       frystyk  4823:   # install mode needs the following variable:
1.11      kahan    4824:   notinst_deplibs='$notinst_deplibs'
1.1       frystyk  4825: else
1.2       frystyk  4826:   # When we are sourced in execute mode, \$file and \$echo are already set.
1.3       frystyk  4827:   if test \"\$libtool_execute_magic\" != \"$magic\"; then
1.2       frystyk  4828:     echo=\"$qecho\"
                   4829:     file=\"\$0\"
1.3       frystyk  4830:     # Make sure echo works.
                   4831:     if test \"X\$1\" = X--no-reexec; then
                   4832:       # Discard the --no-reexec flag, and continue.
                   4833:       shift
                   4834:     elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
                   4835:       # Yippee, \$echo works!
                   4836:       :
                   4837:     else
                   4838:       # Restart under the correct shell, and then maybe \$echo will work.
                   4839:       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
                   4840:     fi
                   4841:   fi\
                   4842: "
1.4       frystyk  4843:        $echo >> $output "\
1.2       frystyk  4844: 
1.1       frystyk  4845:   # Find the directory that this script lives in.
1.2       frystyk  4846:   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
                   4847:   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
1.1       frystyk  4848: 
1.2       frystyk  4849:   # Follow symbolic links until we get to the real thisdir.
1.12    ! vbancrof 4850:   file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
1.2       frystyk  4851:   while test -n \"\$file\"; do
                   4852:     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
                   4853: 
                   4854:     # If there was a directory component, then change thisdir.
                   4855:     if test \"x\$destdir\" != \"x\$file\"; then
                   4856:       case \"\$destdir\" in
1.11      kahan    4857:       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
1.2       frystyk  4858:       *) thisdir=\"\$thisdir/\$destdir\" ;;
                   4859:       esac
                   4860:     fi
1.1       frystyk  4861: 
1.2       frystyk  4862:     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
1.12    ! vbancrof 4863:     file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
1.2       frystyk  4864:   done
1.1       frystyk  4865: 
1.2       frystyk  4866:   # Try to get the absolute directory name.
                   4867:   absdir=\`cd \"\$thisdir\" && pwd\`
                   4868:   test -n \"\$absdir\" && thisdir=\"\$absdir\"
1.5       frystyk  4869: "
1.1       frystyk  4870: 
1.5       frystyk  4871:        if test "$fast_install" = yes; then
1.12    ! vbancrof 4872:          $echo >> $output "\
1.11      kahan    4873:   program=lt-'$outputname'$exeext
1.2       frystyk  4874:   progdir=\"\$thisdir/$objdir\"
1.11      kahan    4875: 
1.5       frystyk  4876:   if test ! -f \"\$progdir/\$program\" || \\
1.12    ! vbancrof 4877:      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
1.5       frystyk  4878:        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
                   4879: 
                   4880:     file=\"\$\$-\$program\"
                   4881: 
                   4882:     if test ! -d \"\$progdir\"; then
                   4883:       $mkdir \"\$progdir\"
                   4884:     else
                   4885:       $rm \"\$progdir/\$file\"
                   4886:     fi"
                   4887: 
1.12    ! vbancrof 4888:          $echo >> $output "\
1.5       frystyk  4889: 
                   4890:     # relink executable if necessary
                   4891:     if test -n \"\$relink_command\"; then
1.11      kahan    4892:       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
1.5       frystyk  4893:       else
1.11      kahan    4894:        $echo \"\$relink_command_output\" >&2
1.5       frystyk  4895:        $rm \"\$progdir/\$file\"
1.12    ! vbancrof 4896:        exit $EXIT_FAILURE
1.5       frystyk  4897:       fi
                   4898:     fi
                   4899: 
                   4900:     $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
                   4901:     { $rm \"\$progdir/\$program\";
                   4902:       $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
                   4903:     $rm \"\$progdir/\$file\"
                   4904:   fi"
                   4905:        else
1.12    ! vbancrof 4906:          $echo >> $output "\
1.11      kahan    4907:   program='$outputname'
1.5       frystyk  4908:   progdir=\"\$thisdir/$objdir\"
                   4909: "
                   4910:        fi
                   4911: 
1.12    ! vbancrof 4912:        $echo >> $output "\
1.1       frystyk  4913: 
1.2       frystyk  4914:   if test -f \"\$progdir/\$program\"; then"
1.1       frystyk  4915: 
1.4       frystyk  4916:        # Export our shlibpath_var if we have one.
1.5       frystyk  4917:        if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
1.4       frystyk  4918:          $echo >> $output "\
1.3       frystyk  4919:     # Add our own library path to $shlibpath_var
1.2       frystyk  4920:     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
1.1       frystyk  4921: 
                   4922:     # Some systems cannot cope with colon-terminated $shlibpath_var
1.4       frystyk  4923:     # The second colon is a workaround for a bug in BeOS R4 sed
                   4924:     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
1.1       frystyk  4925: 
                   4926:     export $shlibpath_var
1.2       frystyk  4927: "
1.4       frystyk  4928:        fi
                   4929: 
                   4930:        # fixup the dll searchpath if we need to.
                   4931:        if test -n "$dllsearchpath"; then
                   4932:          $echo >> $output "\
                   4933:     # Add the dll search path components to the executable PATH
                   4934:     PATH=$dllsearchpath:\$PATH
                   4935: "
                   4936:        fi
1.2       frystyk  4937: 
1.4       frystyk  4938:        $echo >> $output "\
1.3       frystyk  4939:     if test \"\$libtool_execute_magic\" != \"$magic\"; then
1.2       frystyk  4940:       # Run the actual program with our arguments.
1.4       frystyk  4941: "
                   4942:        case $host in
1.11      kahan    4943:        # Backslashes separate directories on plain windows
                   4944:        *-*-mingw | *-*-os2*)
1.4       frystyk  4945:          $echo >> $output "\
                   4946:       exec \$progdir\\\\\$program \${1+\"\$@\"}
                   4947: "
                   4948:          ;;
1.11      kahan    4949: 
1.4       frystyk  4950:        *)
                   4951:          $echo >> $output "\
1.12    ! vbancrof 4952:       exec \$progdir/\$program \${1+\"\$@\"}
1.4       frystyk  4953: "
                   4954:          ;;
                   4955:        esac
                   4956:        $echo >> $output "\
1.3       frystyk  4957:       \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
1.12    ! vbancrof 4958:       exit $EXIT_FAILURE
1.2       frystyk  4959:     fi
1.1       frystyk  4960:   else
                   4961:     # The program doesn't exist.
1.2       frystyk  4962:     \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
                   4963:     \$echo \"This script is just a wrapper for \$program.\" 1>&2
1.12    ! vbancrof 4964:     $echo \"See the $PACKAGE documentation for more information.\" 1>&2
        !          4965:     exit $EXIT_FAILURE
1.1       frystyk  4966:   fi
1.3       frystyk  4967: fi\
                   4968: "
1.4       frystyk  4969:        chmod +x $output
1.1       frystyk  4970:       fi
1.12    ! vbancrof 4971:       exit $EXIT_SUCCESS
1.1       frystyk  4972:       ;;
                   4973:     esac
                   4974: 
                   4975:     # See if we need to build an old-fashioned archive.
1.3       frystyk  4976:     for oldlib in $oldlibs; do
                   4977: 
                   4978:       if test "$build_libtool_libs" = convenience; then
1.4       frystyk  4979:        oldobjs="$libobjs_save"
1.3       frystyk  4980:        addlibs="$convenience"
                   4981:        build_libtool_libs=no
                   4982:       else
1.4       frystyk  4983:        if test "$build_libtool_libs" = module; then
                   4984:          oldobjs="$libobjs_save"
                   4985:          build_libtool_libs=no
                   4986:        else
1.12    ! vbancrof 4987:          oldobjs="$old_deplibs $non_pic_objects"
1.4       frystyk  4988:        fi
1.3       frystyk  4989:        addlibs="$old_convenience"
                   4990:       fi
                   4991: 
1.5       frystyk  4992:       if test -n "$addlibs"; then
                   4993:        gentop="$output_objdir/${outputname}x"
                   4994:        $show "${rm}r $gentop"
                   4995:        $run ${rm}r "$gentop"
1.12    ! vbancrof 4996:        $show "$mkdir $gentop"
        !          4997:        $run $mkdir "$gentop"
1.3       frystyk  4998:        status=$?
1.12    ! vbancrof 4999:        if test "$status" -ne 0 && test ! -d "$gentop"; then
1.3       frystyk  5000:          exit $status
                   5001:        fi
1.5       frystyk  5002:        generated="$generated $gentop"
1.11      kahan    5003: 
1.5       frystyk  5004:        # Add in members from convenience archives.
                   5005:        for xlib in $addlibs; do
                   5006:          # Extract the objects.
1.11      kahan    5007:          case $xlib in
1.5       frystyk  5008:          [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
                   5009:          *) xabs=`pwd`"/$xlib" ;;
                   5010:          esac
                   5011:          xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
                   5012:          xdir="$gentop/$xlib"
1.3       frystyk  5013: 
1.5       frystyk  5014:          $show "${rm}r $xdir"
                   5015:          $run ${rm}r "$xdir"
1.12    ! vbancrof 5016:          $show "$mkdir $xdir"
        !          5017:          $run $mkdir "$xdir"
1.5       frystyk  5018:          status=$?
1.12    ! vbancrof 5019:          if test "$status" -ne 0 && test ! -d "$xdir"; then
1.5       frystyk  5020:            exit $status
                   5021:          fi
1.12    ! vbancrof 5022:          # We will extract separately just the conflicting names and we will no
        !          5023:          # longer touch any unique names. It is faster to leave these extract
        !          5024:          # automatically by $AR in one run.
1.5       frystyk  5025:          $show "(cd $xdir && $AR x $xabs)"
                   5026:          $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
1.12    ! vbancrof 5027:          if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
        !          5028:            :
        !          5029:          else
        !          5030:            $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
        !          5031:            $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
        !          5032:            $AR t "$xabs" | sort | uniq -cd | while read -r count name
        !          5033:            do
        !          5034:              i=1
        !          5035:              while test "$i" -le "$count"
        !          5036:              do
        !          5037:               # Put our $i before any first dot (extension)
        !          5038:               # Never overwrite any file
        !          5039:               name_to="$name"
        !          5040:               while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
        !          5041:               do
        !          5042:                 name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
        !          5043:               done
        !          5044:               $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
        !          5045:               $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
        !          5046:               i=`expr $i + 1`
        !          5047:              done
        !          5048:            done
        !          5049:          fi
1.5       frystyk  5050: 
                   5051:          oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
                   5052:        done
                   5053:       fi
1.1       frystyk  5054: 
1.2       frystyk  5055:       # Do each command in the archive commands.
                   5056:       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
1.12    ! vbancrof 5057:        cmds=$old_archive_from_new_cmds
1.1       frystyk  5058:       else
1.12    ! vbancrof 5059:        eval cmds=\"$old_archive_cmds\"
        !          5060: 
        !          5061:        if len=`expr "X$cmds" : ".*"` &&
        !          5062:             test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
        !          5063:          cmds=$old_archive_cmds
        !          5064:        else
        !          5065:          # the command line is too long to link in one step, link in parts
        !          5066:          $echo "using piecewise archive linking..."
        !          5067:          save_RANLIB=$RANLIB
        !          5068:          RANLIB=:
        !          5069:          objlist=
        !          5070:          concat_cmds=
        !          5071:          save_oldobjs=$oldobjs
        !          5072:          # GNU ar 2.10+ was changed to match POSIX; thus no paths are
        !          5073:          # encoded into archives.  This makes 'ar r' malfunction in
        !          5074:          # this piecewise linking case whenever conflicting object
        !          5075:          # names appear in distinct ar calls; check, warn and compensate.
        !          5076:            if (for obj in $save_oldobjs
        !          5077:            do
        !          5078:              $echo "X$obj" | $Xsed -e 's%^.*/%%'
        !          5079:            done | sort | sort -uc >/dev/null 2>&1); then
        !          5080:            :
        !          5081:          else
        !          5082:            $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2
        !          5083:            $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2
        !          5084:            AR_FLAGS=cq
        !          5085:          fi
        !          5086:          # Is there a better way of finding the last object in the list?
        !          5087:          for obj in $save_oldobjs
        !          5088:          do
        !          5089:            last_oldobj=$obj
        !          5090:          done
        !          5091:          for obj in $save_oldobjs
        !          5092:          do
        !          5093:            oldobjs="$objlist $obj"
        !          5094:            objlist="$objlist $obj"
        !          5095:            eval test_cmds=\"$old_archive_cmds\"
        !          5096:            if len=`expr "X$test_cmds" : ".*"` &&
        !          5097:               test "$len" -le "$max_cmd_len"; then
        !          5098:              :
1.11      kahan    5099:            else
1.12    ! vbancrof 5100:              # the above command should be used before it gets too long
        !          5101:              oldobjs=$objlist
        !          5102:              if test "$obj" = "$last_oldobj" ; then
        !          5103:                RANLIB=$save_RANLIB
        !          5104:              fi
        !          5105:              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
        !          5106:              eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
        !          5107:              objlist=
1.11      kahan    5108:            fi
1.12    ! vbancrof 5109:          done
        !          5110:          RANLIB=$save_RANLIB
        !          5111:          oldobjs=$objlist
        !          5112:          if test "X$oldobjs" = "X" ; then
        !          5113:            eval cmds=\"\$concat_cmds\"
        !          5114:          else
        !          5115:            eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
1.5       frystyk  5116:          fi
1.12    ! vbancrof 5117:        fi
1.1       frystyk  5118:       fi
1.11      kahan    5119:       save_ifs="$IFS"; IFS='~'
1.1       frystyk  5120:       for cmd in $cmds; do
1.12    ! vbancrof 5121:         eval cmd=\"$cmd\"
1.4       frystyk  5122:        IFS="$save_ifs"
                   5123:        $show "$cmd"
                   5124:        $run eval "$cmd" || exit $?
1.1       frystyk  5125:       done
                   5126:       IFS="$save_ifs"
1.3       frystyk  5127:     done
                   5128: 
                   5129:     if test -n "$generated"; then
                   5130:       $show "${rm}r$generated"
                   5131:       $run ${rm}r$generated
1.1       frystyk  5132:     fi
                   5133: 
                   5134:     # Now create the libtool archive.
1.11      kahan    5135:     case $output in
1.1       frystyk  5136:     *.la)
                   5137:       old_library=
1.4       frystyk  5138:       test "$build_old_libs" = yes && old_library="$libname.$libext"
1.2       frystyk  5139:       $show "creating $output"
1.1       frystyk  5140: 
1.11      kahan    5141:       # Preserve any variables that may affect compiler behavior
                   5142:       for var in $variables_saved_for_relink; do
                   5143:        if eval test -z \"\${$var+set}\"; then
                   5144:          relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
                   5145:        elif eval var_value=\$$var; test -z "$var_value"; then
                   5146:          relink_command="$var=; export $var; $relink_command"
                   5147:        else
                   5148:          var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
                   5149:          relink_command="$var=\"$var_value\"; export $var; $relink_command"
                   5150:        fi
                   5151:       done
                   5152:       # Quote the link command for shipping.
1.12    ! vbancrof 5153:       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
1.11      kahan    5154:       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
1.12    ! vbancrof 5155:       if test "$hardcode_automatic" = yes ; then
        !          5156:        relink_command=
        !          5157:       fi
        !          5158: 
1.5       frystyk  5159: 
1.1       frystyk  5160:       # Only create the output if not a dry run.
                   5161:       if test -z "$run"; then
1.5       frystyk  5162:        for installed in no yes; do
                   5163:          if test "$installed" = yes; then
                   5164:            if test -z "$install_libdir"; then
                   5165:              break
                   5166:            fi
                   5167:            output="$output_objdir/$outputname"i
1.11      kahan    5168:            # Replace all uninstalled libtool libraries with the installed ones
                   5169:            newdependency_libs=
                   5170:            for deplib in $dependency_libs; do
                   5171:              case $deplib in
                   5172:              *.la)
                   5173:                name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
1.12    ! vbancrof 5174:                eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
1.11      kahan    5175:                if test -z "$libdir"; then
                   5176:                  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
1.12    ! vbancrof 5177:                  exit $EXIT_FAILURE
1.11      kahan    5178:                fi
                   5179:                newdependency_libs="$newdependency_libs $libdir/$name"
                   5180:                ;;
                   5181:              *) newdependency_libs="$newdependency_libs $deplib" ;;
                   5182:              esac
                   5183:            done
                   5184:            dependency_libs="$newdependency_libs"
                   5185:            newdlfiles=
                   5186:            for lib in $dlfiles; do
                   5187:              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1.12    ! vbancrof 5188:              eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
1.11      kahan    5189:              if test -z "$libdir"; then
                   5190:                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.12    ! vbancrof 5191:                exit $EXIT_FAILURE
1.11      kahan    5192:              fi
                   5193:              newdlfiles="$newdlfiles $libdir/$name"
                   5194:            done
                   5195:            dlfiles="$newdlfiles"
                   5196:            newdlprefiles=
                   5197:            for lib in $dlprefiles; do
                   5198:              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1.12    ! vbancrof 5199:              eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
1.11      kahan    5200:              if test -z "$libdir"; then
                   5201:                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.12    ! vbancrof 5202:                exit $EXIT_FAILURE
1.11      kahan    5203:              fi
                   5204:              newdlprefiles="$newdlprefiles $libdir/$name"
                   5205:            done
                   5206:            dlprefiles="$newdlprefiles"
1.12    ! vbancrof 5207:          else
        !          5208:            newdlfiles=
        !          5209:            for lib in $dlfiles; do
        !          5210:              case $lib in
        !          5211:                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
        !          5212:                *) abs=`pwd`"/$lib" ;;
        !          5213:              esac
        !          5214:              newdlfiles="$newdlfiles $abs"
        !          5215:            done
        !          5216:            dlfiles="$newdlfiles"
        !          5217:            newdlprefiles=
        !          5218:            for lib in $dlprefiles; do
        !          5219:              case $lib in
        !          5220:                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
        !          5221:                *) abs=`pwd`"/$lib" ;;
        !          5222:              esac
        !          5223:              newdlprefiles="$newdlprefiles $abs"
        !          5224:            done
        !          5225:            dlprefiles="$newdlprefiles"
1.5       frystyk  5226:          fi
                   5227:          $rm $output
1.11      kahan    5228:          # place dlname in correct position for cygwin
                   5229:          tdlname=$dlname
                   5230:          case $host,$output,$installed,$module,$dlname in
1.12    ! vbancrof 5231:            *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
1.11      kahan    5232:          esac
1.5       frystyk  5233:          $echo > $output "\
                   5234: # $outputname - a libtool library file
1.4       frystyk  5235: # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.5       frystyk  5236: #
                   5237: # Please DO NOT delete this file!
                   5238: # It is necessary for linking the library.
1.1       frystyk  5239: 
                   5240: # The name that we can dlopen(3).
1.11      kahan    5241: dlname='$tdlname'
1.1       frystyk  5242: 
                   5243: # Names of this library.
                   5244: library_names='$library_names'
                   5245: 
                   5246: # The name of the static archive.
                   5247: old_library='$old_library'
                   5248: 
1.2       frystyk  5249: # Libraries that this one depends upon.
                   5250: dependency_libs='$dependency_libs'
                   5251: 
1.1       frystyk  5252: # Version information for $libname.
                   5253: current=$current
                   5254: age=$age
                   5255: revision=$revision
                   5256: 
1.4       frystyk  5257: # Is this an already installed library?
1.5       frystyk  5258: installed=$installed
1.4       frystyk  5259: 
1.12    ! vbancrof 5260: # Should we warn about portability when linking against -modules?
        !          5261: shouldnotlink=$module
        !          5262: 
1.11      kahan    5263: # Files to dlopen/dlpreopen
                   5264: dlopen='$dlfiles'
                   5265: dlpreopen='$dlprefiles'
                   5266: 
1.1       frystyk  5267: # Directory that this library needs to be installed in:
1.11      kahan    5268: libdir='$install_libdir'"
1.12    ! vbancrof 5269:          if test "$installed" = no && test "$need_relink" = yes; then
1.11      kahan    5270:            $echo >> $output "\
                   5271: relink_command=\"$relink_command\""
                   5272:          fi
1.5       frystyk  5273:        done
1.1       frystyk  5274:       fi
                   5275: 
                   5276:       # Do a symbolic link so that the libtool archive can be found in
                   5277:       # LD_LIBRARY_PATH before the program is installed.
1.4       frystyk  5278:       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
1.11      kahan    5279:       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
1.1       frystyk  5280:       ;;
                   5281:     esac
1.12    ! vbancrof 5282:     exit $EXIT_SUCCESS
1.1       frystyk  5283:     ;;
                   5284: 
                   5285:   # libtool install mode
                   5286:   install)
1.2       frystyk  5287:     modename="$modename: install"
                   5288: 
1.3       frystyk  5289:     # There may be an optional sh(1) argument at the beginning of
1.2       frystyk  5290:     # install_prog (especially on Windows NT).
1.11      kahan    5291:     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
                   5292:        # Allow the use of GNU shtool's install command.
                   5293:        $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
1.2       frystyk  5294:       # Aesthetically quote it.
                   5295:       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
1.11      kahan    5296:       case $arg in
1.2       frystyk  5297:       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
                   5298:        arg="\"$arg\""
                   5299:        ;;
                   5300:       esac
                   5301:       install_prog="$arg "
                   5302:       arg="$1"
                   5303:       shift
                   5304:     else
                   5305:       install_prog=
                   5306:       arg="$nonopt"
                   5307:     fi
1.1       frystyk  5308: 
1.2       frystyk  5309:     # The real first argument should be the name of the installation program.
                   5310:     # Aesthetically quote it.
                   5311:     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.11      kahan    5312:     case $arg in
1.2       frystyk  5313:     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
                   5314:       arg="\"$arg\""
                   5315:       ;;
                   5316:     esac
                   5317:     install_prog="$install_prog$arg"
1.1       frystyk  5318: 
                   5319:     # We need to accept at least all the BSD install flags.
                   5320:     dest=
                   5321:     files=
                   5322:     opts=
                   5323:     prev=
                   5324:     install_type=
1.3       frystyk  5325:     isdir=no
1.1       frystyk  5326:     stripme=
                   5327:     for arg
                   5328:     do
                   5329:       if test -n "$dest"; then
1.4       frystyk  5330:        files="$files $dest"
                   5331:        dest="$arg"
                   5332:        continue
1.1       frystyk  5333:       fi
                   5334: 
1.11      kahan    5335:       case $arg in
1.1       frystyk  5336:       -d) isdir=yes ;;
                   5337:       -f) prev="-f" ;;
                   5338:       -g) prev="-g" ;;
                   5339:       -m) prev="-m" ;;
                   5340:       -o) prev="-o" ;;
                   5341:       -s)
1.4       frystyk  5342:        stripme=" -s"
                   5343:        continue
                   5344:        ;;
1.1       frystyk  5345:       -*) ;;
                   5346: 
                   5347:       *)
1.4       frystyk  5348:        # If the previous option needed an argument, then skip it.
                   5349:        if test -n "$prev"; then
                   5350:          prev=
                   5351:        else
                   5352:          dest="$arg"
                   5353:          continue
                   5354:        fi
                   5355:        ;;
1.1       frystyk  5356:       esac
1.2       frystyk  5357: 
                   5358:       # Aesthetically quote the argument.
                   5359:       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.11      kahan    5360:       case $arg in
1.2       frystyk  5361:       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
                   5362:        arg="\"$arg\""
                   5363:        ;;
                   5364:       esac
1.1       frystyk  5365:       install_prog="$install_prog $arg"
                   5366:     done
                   5367: 
                   5368:     if test -z "$install_prog"; then
1.2       frystyk  5369:       $echo "$modename: you must specify an install program" 1>&2
                   5370:       $echo "$help" 1>&2
1.12    ! vbancrof 5371:       exit $EXIT_FAILURE
1.1       frystyk  5372:     fi
                   5373: 
                   5374:     if test -n "$prev"; then
1.2       frystyk  5375:       $echo "$modename: the \`$prev' option requires an argument" 1>&2
                   5376:       $echo "$help" 1>&2
1.12    ! vbancrof 5377:       exit $EXIT_FAILURE
1.1       frystyk  5378:     fi
                   5379: 
                   5380:     if test -z "$files"; then
                   5381:       if test -z "$dest"; then
1.4       frystyk  5382:        $echo "$modename: no file or destination specified" 1>&2
1.1       frystyk  5383:       else
1.4       frystyk  5384:        $echo "$modename: you must specify a destination" 1>&2
1.1       frystyk  5385:       fi
1.2       frystyk  5386:       $echo "$help" 1>&2
1.12    ! vbancrof 5387:       exit $EXIT_FAILURE
1.1       frystyk  5388:     fi
                   5389: 
                   5390:     # Strip any trailing slash from the destination.
1.2       frystyk  5391:     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
1.1       frystyk  5392: 
                   5393:     # Check to see that the destination is a directory.
                   5394:     test -d "$dest" && isdir=yes
1.3       frystyk  5395:     if test "$isdir" = yes; then
1.1       frystyk  5396:       destdir="$dest"
                   5397:       destname=
                   5398:     else
1.2       frystyk  5399:       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
                   5400:       test "X$destdir" = "X$dest" && destdir=.
                   5401:       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
1.1       frystyk  5402: 
                   5403:       # Not a directory, so check to see that there is only one file specified.
                   5404:       set dummy $files
1.12    ! vbancrof 5405:       if test "$#" -gt 2; then
1.4       frystyk  5406:        $echo "$modename: \`$dest' is not a directory" 1>&2
                   5407:        $echo "$help" 1>&2
1.12    ! vbancrof 5408:        exit $EXIT_FAILURE
1.1       frystyk  5409:       fi
                   5410:     fi
1.11      kahan    5411:     case $destdir in
1.5       frystyk  5412:     [\\/]* | [A-Za-z]:[\\/]*) ;;
1.1       frystyk  5413:     *)
                   5414:       for file in $files; do
1.11      kahan    5415:        case $file in
1.4       frystyk  5416:        *.lo) ;;
                   5417:        *)
                   5418:          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
                   5419:          $echo "$help" 1>&2
1.12    ! vbancrof 5420:          exit $EXIT_FAILURE
1.4       frystyk  5421:          ;;
                   5422:        esac
1.1       frystyk  5423:       done
                   5424:       ;;
                   5425:     esac
                   5426: 
1.2       frystyk  5427:     # This variable tells wrapper scripts just to set variables rather
                   5428:     # than running their programs.
                   5429:     libtool_install_magic="$magic"
                   5430: 
1.1       frystyk  5431:     staticlibs=
                   5432:     future_libdirs=
                   5433:     current_libdirs=
                   5434:     for file in $files; do
                   5435: 
                   5436:       # Do each installation.
1.11      kahan    5437:       case $file in
                   5438:       *.$libext)
1.4       frystyk  5439:        # Do the static libraries later.
                   5440:        staticlibs="$staticlibs $file"
                   5441:        ;;
1.1       frystyk  5442: 
                   5443:       *.la)
1.4       frystyk  5444:        # Check to see that this really is a libtool archive.
1.12    ! vbancrof 5445:        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.4       frystyk  5446:        else
                   5447:          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
                   5448:          $echo "$help" 1>&2
1.12    ! vbancrof 5449:          exit $EXIT_FAILURE
1.4       frystyk  5450:        fi
                   5451: 
                   5452:        library_names=
                   5453:        old_library=
1.11      kahan    5454:        relink_command=
1.4       frystyk  5455:        # If there is no directory component, then add one.
1.11      kahan    5456:        case $file in
1.4       frystyk  5457:        */* | *\\*) . $file ;;
                   5458:        *) . ./$file ;;
                   5459:        esac
                   5460: 
                   5461:        # Add the libdir to current_libdirs if it is the destination.
                   5462:        if test "X$destdir" = "X$libdir"; then
                   5463:          case "$current_libdirs " in
                   5464:          *" $libdir "*) ;;
                   5465:          *) current_libdirs="$current_libdirs $libdir" ;;
                   5466:          esac
                   5467:        else
                   5468:          # Note the libdir as a future libdir.
                   5469:          case "$future_libdirs " in
                   5470:          *" $libdir "*) ;;
                   5471:          *) future_libdirs="$future_libdirs $libdir" ;;
                   5472:          esac
                   5473:        fi
                   5474: 
1.11      kahan    5475:        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
1.4       frystyk  5476:        test "X$dir" = "X$file/" && dir=
                   5477:        dir="$dir$objdir"
                   5478: 
1.11      kahan    5479:        if test -n "$relink_command"; then
1.12    ! vbancrof 5480:          # Determine the prefix the user has applied to our future dir.
        !          5481:          inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
        !          5482: 
        !          5483:          # Don't allow the user to place us outside of our expected
        !          5484:          # location b/c this prevents finding dependent libraries that
        !          5485:          # are installed to the same prefix.
        !          5486:          # At present, this check doesn't affect windows .dll's that
        !          5487:          # are installed into $libdir/../bin (currently, that works fine)
        !          5488:          # but it's something to keep an eye on.
        !          5489:          if test "$inst_prefix_dir" = "$destdir"; then
        !          5490:            $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
        !          5491:            exit $EXIT_FAILURE
        !          5492:          fi
        !          5493: 
        !          5494:          if test -n "$inst_prefix_dir"; then
        !          5495:            # Stick the inst_prefix_dir data into the link command.
        !          5496:            relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
        !          5497:          else
        !          5498:            relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
        !          5499:          fi
        !          5500: 
1.11      kahan    5501:          $echo "$modename: warning: relinking \`$file'" 1>&2
                   5502:          $show "$relink_command"
                   5503:          if $run eval "$relink_command"; then :
                   5504:          else
                   5505:            $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1.12    ! vbancrof 5506:            exit $EXIT_FAILURE
1.11      kahan    5507:          fi
                   5508:        fi
                   5509: 
1.4       frystyk  5510:        # See the names of the shared library.
                   5511:        set dummy $library_names
                   5512:        if test -n "$2"; then
                   5513:          realname="$2"
                   5514:          shift
                   5515:          shift
                   5516: 
1.11      kahan    5517:          srcname="$realname"
                   5518:          test -n "$relink_command" && srcname="$realname"T
                   5519: 
1.4       frystyk  5520:          # Install the shared library and build the symlinks.
1.11      kahan    5521:          $show "$install_prog $dir/$srcname $destdir/$realname"
                   5522:          $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
                   5523:          if test -n "$stripme" && test -n "$striplib"; then
                   5524:            $show "$striplib $destdir/$realname"
                   5525:            $run eval "$striplib $destdir/$realname" || exit $?
                   5526:          fi
1.4       frystyk  5527: 
1.12    ! vbancrof 5528:          if test "$#" -gt 0; then
1.4       frystyk  5529:            # Delete the old symlinks, and create new ones.
                   5530:            for linkname
                   5531:            do
                   5532:              if test "$linkname" != "$realname"; then
                   5533:                $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
                   5534:                $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
                   5535:              fi
                   5536:            done
                   5537:          fi
                   5538: 
                   5539:          # Do each command in the postinstall commands.
                   5540:          lib="$destdir/$realname"
1.12    ! vbancrof 5541:          cmds=$postinstall_cmds
1.11      kahan    5542:          save_ifs="$IFS"; IFS='~'
1.4       frystyk  5543:          for cmd in $cmds; do
                   5544:            IFS="$save_ifs"
1.12    ! vbancrof 5545:            eval cmd=\"$cmd\"
1.4       frystyk  5546:            $show "$cmd"
                   5547:            $run eval "$cmd" || exit $?
                   5548:          done
                   5549:          IFS="$save_ifs"
                   5550:        fi
                   5551: 
                   5552:        # Install the pseudo-library for information purposes.
                   5553:        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
                   5554:        instname="$dir/$name"i
                   5555:        $show "$install_prog $instname $destdir/$name"
                   5556:        $run eval "$install_prog $instname $destdir/$name" || exit $?
                   5557: 
                   5558:        # Maybe install the static library, too.
                   5559:        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
                   5560:        ;;
1.1       frystyk  5561: 
                   5562:       *.lo)
1.4       frystyk  5563:        # Install (i.e. copy) a libtool object.
                   5564: 
                   5565:        # Figure out destination file name, if it wasn't already specified.
                   5566:        if test -n "$destname"; then
                   5567:          destfile="$destdir/$destname"
                   5568:        else
                   5569:          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
                   5570:          destfile="$destdir/$destfile"
                   5571:        fi
                   5572: 
                   5573:        # Deduce the name of the destination old-style object file.
1.11      kahan    5574:        case $destfile in
1.4       frystyk  5575:        *.lo)
                   5576:          staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
                   5577:          ;;
1.11      kahan    5578:        *.$objext)
1.4       frystyk  5579:          staticdest="$destfile"
                   5580:          destfile=
                   5581:          ;;
                   5582:        *)
                   5583:          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
                   5584:          $echo "$help" 1>&2
1.12    ! vbancrof 5585:          exit $EXIT_FAILURE
1.4       frystyk  5586:          ;;
                   5587:        esac
                   5588: 
                   5589:        # Install the libtool object if requested.
                   5590:        if test -n "$destfile"; then
                   5591:          $show "$install_prog $file $destfile"
                   5592:          $run eval "$install_prog $file $destfile" || exit $?
                   5593:        fi
1.1       frystyk  5594: 
1.4       frystyk  5595:        # Install the old object if enabled.
                   5596:        if test "$build_old_libs" = yes; then
                   5597:          # Deduce the name of the old-style object file.
                   5598:          staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
                   5599: 
                   5600:          $show "$install_prog $staticobj $staticdest"
                   5601:          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
                   5602:        fi
1.12    ! vbancrof 5603:        exit $EXIT_SUCCESS
1.4       frystyk  5604:        ;;
1.1       frystyk  5605: 
                   5606:       *)
1.4       frystyk  5607:        # Figure out destination file name, if it wasn't already specified.
                   5608:        if test -n "$destname"; then
                   5609:          destfile="$destdir/$destname"
                   5610:        else
                   5611:          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
                   5612:          destfile="$destdir/$destfile"
                   5613:        fi
                   5614: 
1.12    ! vbancrof 5615:        # If the file is missing, and there is a .exe on the end, strip it
        !          5616:        # because it is most likely a libtool script we actually want to
        !          5617:        # install
        !          5618:        stripped_ext=""
        !          5619:        case $file in
        !          5620:          *.exe)
        !          5621:            if test ! -f "$file"; then
        !          5622:              file=`$echo $file|${SED} 's,.exe$,,'`
        !          5623:              stripped_ext=".exe"
        !          5624:            fi
        !          5625:            ;;
        !          5626:        esac
        !          5627: 
1.4       frystyk  5628:        # Do a test to see if this is really a libtool program.
1.11      kahan    5629:        case $host in
                   5630:        *cygwin*|*mingw*)
1.12    ! vbancrof 5631:            wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
1.11      kahan    5632:            ;;
                   5633:        *)
                   5634:            wrapper=$file
                   5635:            ;;
                   5636:        esac
1.12    ! vbancrof 5637:        if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
1.11      kahan    5638:          notinst_deplibs=
1.5       frystyk  5639:          relink_command=
1.4       frystyk  5640: 
1.12    ! vbancrof 5641:          # To insure that "foo" is sourced, and not "foo.exe",
        !          5642:          # finese the cygwin/MSYS system by explicitly sourcing "foo."
        !          5643:          # which disallows the automatic-append-.exe behavior.
        !          5644:          case $build in
        !          5645:          *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
        !          5646:          *) wrapperdot=${wrapper} ;;
        !          5647:          esac
1.4       frystyk  5648:          # If there is no directory component, then add one.
1.11      kahan    5649:          case $file in
1.12    ! vbancrof 5650:          */* | *\\*) . ${wrapperdot} ;;
        !          5651:          *) . ./${wrapperdot} ;;
1.4       frystyk  5652:          esac
                   5653: 
                   5654:          # Check the variables that should have been set.
1.11      kahan    5655:          if test -z "$notinst_deplibs"; then
                   5656:            $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
1.12    ! vbancrof 5657:            exit $EXIT_FAILURE
1.4       frystyk  5658:          fi
                   5659: 
                   5660:          finalize=yes
1.11      kahan    5661:          for lib in $notinst_deplibs; do
1.4       frystyk  5662:            # Check to see that each library is installed.
                   5663:            libdir=
                   5664:            if test -f "$lib"; then
                   5665:              # If there is no directory component, then add one.
1.11      kahan    5666:              case $lib in
1.4       frystyk  5667:              */* | *\\*) . $lib ;;
                   5668:              *) . ./$lib ;;
                   5669:              esac
                   5670:            fi
1.11      kahan    5671:            libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
1.4       frystyk  5672:            if test -n "$libdir" && test ! -f "$libfile"; then
                   5673:              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
                   5674:              finalize=no
                   5675:            fi
                   5676:          done
                   5677: 
1.11      kahan    5678:          relink_command=
1.12    ! vbancrof 5679:          # To insure that "foo" is sourced, and not "foo.exe",
        !          5680:          # finese the cygwin/MSYS system by explicitly sourcing "foo."
        !          5681:          # which disallows the automatic-append-.exe behavior.
        !          5682:          case $build in
        !          5683:          *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
        !          5684:          *) wrapperdot=${wrapper} ;;
        !          5685:          esac
1.11      kahan    5686:          # If there is no directory component, then add one.
                   5687:          case $file in
1.12    ! vbancrof 5688:          */* | *\\*) . ${wrapperdot} ;;
        !          5689:          *) . ./${wrapperdot} ;;
1.11      kahan    5690:          esac
                   5691: 
1.5       frystyk  5692:          outputname=
                   5693:          if test "$fast_install" = no && test -n "$relink_command"; then
                   5694:            if test "$finalize" = yes && test -z "$run"; then
                   5695:              tmpdir="/tmp"
                   5696:              test -n "$TMPDIR" && tmpdir="$TMPDIR"
                   5697:              tmpdir="$tmpdir/libtool-$$"
1.12    ! vbancrof 5698:              save_umask=`umask`
        !          5699:              umask 0077
        !          5700:              if $mkdir "$tmpdir"; then
        !          5701:                umask $save_umask
1.5       frystyk  5702:              else
1.12    ! vbancrof 5703:                umask $save_umask
1.5       frystyk  5704:                $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
                   5705:                continue
                   5706:              fi
1.12    ! vbancrof 5707:              file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
1.5       frystyk  5708:              outputname="$tmpdir/$file"
                   5709:              # Replace the output file specification.
                   5710:              relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
                   5711: 
                   5712:              $show "$relink_command"
                   5713:              if $run eval "$relink_command"; then :
1.4       frystyk  5714:              else
                   5715:                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1.5       frystyk  5716:                ${rm}r "$tmpdir"
1.4       frystyk  5717:                continue
                   5718:              fi
1.5       frystyk  5719:              file="$outputname"
1.4       frystyk  5720:            else
1.5       frystyk  5721:              $echo "$modename: warning: cannot relink \`$file'" 1>&2
1.4       frystyk  5722:            fi
                   5723:          else
                   5724:            # Install the binary that we compiled earlier.
1.12    ! vbancrof 5725:            file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
1.4       frystyk  5726:          fi
                   5727:        fi
1.1       frystyk  5728: 
1.11      kahan    5729:        # remove .exe since cygwin /usr/bin/install will append another
                   5730:        # one anyways
                   5731:        case $install_prog,$host in
1.12    ! vbancrof 5732:        */usr/bin/install*,*cygwin*)
1.11      kahan    5733:          case $file:$destfile in
                   5734:          *.exe:*.exe)
                   5735:            # this is ok
                   5736:            ;;
                   5737:          *.exe:*)
                   5738:            destfile=$destfile.exe
                   5739:            ;;
                   5740:          *:*.exe)
1.12    ! vbancrof 5741:            destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
1.11      kahan    5742:            ;;
                   5743:          esac
                   5744:          ;;
                   5745:        esac
1.4       frystyk  5746:        $show "$install_prog$stripme $file $destfile"
                   5747:        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
1.5       frystyk  5748:        test -n "$outputname" && ${rm}r "$tmpdir"
1.4       frystyk  5749:        ;;
1.1       frystyk  5750:       esac
                   5751:     done
                   5752: 
                   5753:     for file in $staticlibs; do
1.2       frystyk  5754:       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.1       frystyk  5755: 
                   5756:       # Set up the ranlib parameters.
                   5757:       oldlib="$destdir/$name"
                   5758: 
                   5759:       $show "$install_prog $file $oldlib"
1.2       frystyk  5760:       $run eval "$install_prog \$file \$oldlib" || exit $?
1.1       frystyk  5761: 
1.12    ! vbancrof 5762:       if test -n "$stripme" && test -n "$old_striplib"; then
1.11      kahan    5763:        $show "$old_striplib $oldlib"
                   5764:        $run eval "$old_striplib $oldlib" || exit $?
                   5765:       fi
                   5766: 
1.1       frystyk  5767:       # Do each command in the postinstall commands.
1.12    ! vbancrof 5768:       cmds=$old_postinstall_cmds
1.11      kahan    5769:       save_ifs="$IFS"; IFS='~'
1.1       frystyk  5770:       for cmd in $cmds; do
1.4       frystyk  5771:        IFS="$save_ifs"
1.12    ! vbancrof 5772:        eval cmd=\"$cmd\"
1.4       frystyk  5773:        $show "$cmd"
                   5774:        $run eval "$cmd" || exit $?
1.1       frystyk  5775:       done
                   5776:       IFS="$save_ifs"
                   5777:     done
                   5778: 
                   5779:     if test -n "$future_libdirs"; then
1.2       frystyk  5780:       $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
1.1       frystyk  5781:     fi
                   5782: 
                   5783:     if test -n "$current_libdirs"; then
                   5784:       # Maybe just do a dry run.
                   5785:       test -n "$run" && current_libdirs=" -n$current_libdirs"
1.12    ! vbancrof 5786:       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
1.11      kahan    5787:     else
1.12    ! vbancrof 5788:       exit $EXIT_SUCCESS
1.1       frystyk  5789:     fi
                   5790:     ;;
                   5791: 
1.2       frystyk  5792:   # libtool finish mode
                   5793:   finish)
                   5794:     modename="$modename: finish"
                   5795:     libdirs="$nonopt"
1.3       frystyk  5796:     admincmds=
1.2       frystyk  5797: 
                   5798:     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
                   5799:       for dir
                   5800:       do
1.4       frystyk  5801:        libdirs="$libdirs $dir"
1.2       frystyk  5802:       done
                   5803: 
                   5804:       for libdir in $libdirs; do
                   5805:        if test -n "$finish_cmds"; then
                   5806:          # Do each command in the finish commands.
1.12    ! vbancrof 5807:          cmds=$finish_cmds
1.11      kahan    5808:          save_ifs="$IFS"; IFS='~'
1.4       frystyk  5809:          for cmd in $cmds; do
                   5810:            IFS="$save_ifs"
1.12    ! vbancrof 5811:            eval cmd=\"$cmd\"
1.4       frystyk  5812:            $show "$cmd"
                   5813:            $run eval "$cmd" || admincmds="$admincmds
1.3       frystyk  5814:        $cmd"
1.4       frystyk  5815:          done
                   5816:          IFS="$save_ifs"
1.2       frystyk  5817:        fi
                   5818:        if test -n "$finish_eval"; then
                   5819:          # Do the single finish_eval.
1.3       frystyk  5820:          eval cmds=\"$finish_eval\"
                   5821:          $run eval "$cmds" || admincmds="$admincmds
                   5822:        $cmds"
1.2       frystyk  5823:        fi
                   5824:       done
                   5825:     fi
                   5826: 
1.4       frystyk  5827:     # Exit here if they wanted silent mode.
1.12    ! vbancrof 5828:     test "$show" = : && exit $EXIT_SUCCESS
1.4       frystyk  5829: 
1.12    ! vbancrof 5830:     $echo "----------------------------------------------------------------------"
        !          5831:     $echo "Libraries have been installed in:"
1.2       frystyk  5832:     for libdir in $libdirs; do
1.12    ! vbancrof 5833:       $echo "   $libdir"
1.1       frystyk  5834:     done
1.12    ! vbancrof 5835:     $echo
        !          5836:     $echo "If you ever happen to want to link against installed libraries"
        !          5837:     $echo "in a given directory, LIBDIR, you must either use libtool, and"
        !          5838:     $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
        !          5839:     $echo "flag during linking and do at least one of the following:"
1.2       frystyk  5840:     if test -n "$shlibpath_var"; then
1.12    ! vbancrof 5841:       $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
        !          5842:       $echo "     during execution"
1.2       frystyk  5843:     fi
                   5844:     if test -n "$runpath_var"; then
1.12    ! vbancrof 5845:       $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
        !          5846:       $echo "     during linking"
1.2       frystyk  5847:     fi
                   5848:     if test -n "$hardcode_libdir_flag_spec"; then
                   5849:       libdir=LIBDIR
1.3       frystyk  5850:       eval flag=\"$hardcode_libdir_flag_spec\"
1.1       frystyk  5851: 
1.12    ! vbancrof 5852:       $echo "   - use the \`$flag' linker flag"
1.2       frystyk  5853:     fi
1.3       frystyk  5854:     if test -n "$admincmds"; then
1.12    ! vbancrof 5855:       $echo "   - have your system administrator run these commands:$admincmds"
1.3       frystyk  5856:     fi
1.2       frystyk  5857:     if test -f /etc/ld.so.conf; then
1.12    ! vbancrof 5858:       $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1.2       frystyk  5859:     fi
1.12    ! vbancrof 5860:     $echo
        !          5861:     $echo "See any operating system documentation about shared libraries for"
        !          5862:     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
        !          5863:     $echo "----------------------------------------------------------------------"
        !          5864:     exit $EXIT_SUCCESS
1.2       frystyk  5865:     ;;
                   5866: 
                   5867:   # libtool execute mode
                   5868:   execute)
                   5869:     modename="$modename: execute"
                   5870: 
                   5871:     # The first argument is the command name.
                   5872:     cmd="$nonopt"
                   5873:     if test -z "$cmd"; then
                   5874:       $echo "$modename: you must specify a COMMAND" 1>&2
                   5875:       $echo "$help"
1.12    ! vbancrof 5876:       exit $EXIT_FAILURE
1.1       frystyk  5877:     fi
                   5878: 
1.2       frystyk  5879:     # Handle -dlopen flags immediately.
                   5880:     for file in $execute_dlfiles; do
1.3       frystyk  5881:       if test ! -f "$file"; then
1.2       frystyk  5882:        $echo "$modename: \`$file' is not a file" 1>&2
                   5883:        $echo "$help" 1>&2
1.12    ! vbancrof 5884:        exit $EXIT_FAILURE
1.1       frystyk  5885:       fi
                   5886: 
1.2       frystyk  5887:       dir=
1.11      kahan    5888:       case $file in
1.2       frystyk  5889:       *.la)
1.4       frystyk  5890:        # Check to see that this really is a libtool archive.
1.12    ! vbancrof 5891:        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.4       frystyk  5892:        else
                   5893:          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
                   5894:          $echo "$help" 1>&2
1.12    ! vbancrof 5895:          exit $EXIT_FAILURE
1.4       frystyk  5896:        fi
1.2       frystyk  5897: 
                   5898:        # Read the libtool library.
                   5899:        dlname=
                   5900:        library_names=
                   5901: 
1.4       frystyk  5902:        # If there is no directory component, then add one.
1.11      kahan    5903:        case $file in
1.2       frystyk  5904:        */* | *\\*) . $file ;;
1.4       frystyk  5905:        *) . ./$file ;;
1.2       frystyk  5906:        esac
                   5907: 
                   5908:        # Skip this library if it cannot be dlopened.
                   5909:        if test -z "$dlname"; then
                   5910:          # Warn if it was a shared library.
                   5911:          test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
                   5912:          continue
                   5913:        fi
                   5914: 
                   5915:        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
                   5916:        test "X$dir" = "X$file" && dir=.
                   5917: 
                   5918:        if test -f "$dir/$objdir/$dlname"; then
                   5919:          dir="$dir/$objdir"
                   5920:        else
                   5921:          $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
1.12    ! vbancrof 5922:          exit $EXIT_FAILURE
1.2       frystyk  5923:        fi
                   5924:        ;;
                   5925: 
                   5926:       *.lo)
                   5927:        # Just add the directory containing the .lo file.
                   5928:        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
                   5929:        test "X$dir" = "X$file" && dir=.
                   5930:        ;;
                   5931: 
                   5932:       *)
                   5933:        $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
1.4       frystyk  5934:        continue
1.2       frystyk  5935:        ;;
1.1       frystyk  5936:       esac
                   5937: 
1.2       frystyk  5938:       # Get the absolute pathname.
                   5939:       absdir=`cd "$dir" && pwd`
                   5940:       test -n "$absdir" && dir="$absdir"
                   5941: 
                   5942:       # Now add the directory to shlibpath_var.
                   5943:       if eval "test -z \"\$$shlibpath_var\""; then
                   5944:        eval "$shlibpath_var=\"\$dir\""
1.1       frystyk  5945:       else
1.2       frystyk  5946:        eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
1.1       frystyk  5947:       fi
                   5948:     done
                   5949: 
1.2       frystyk  5950:     # This variable tells wrapper scripts just to set shlibpath_var
                   5951:     # rather than running their programs.
                   5952:     libtool_execute_magic="$magic"
                   5953: 
                   5954:     # Check if any of the arguments is a wrapper script.
                   5955:     args=
                   5956:     for file
                   5957:     do
1.11      kahan    5958:       case $file in
1.2       frystyk  5959:       -*) ;;
                   5960:       *)
1.4       frystyk  5961:        # Do a test to see if this is really a libtool program.
1.12    ! vbancrof 5962:        if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.2       frystyk  5963:          # If there is no directory component, then add one.
1.11      kahan    5964:          case $file in
1.2       frystyk  5965:          */* | *\\*) . $file ;;
                   5966:          *) . ./$file ;;
                   5967:          esac
                   5968: 
                   5969:          # Transform arg to wrapped name.
                   5970:          file="$progdir/$program"
                   5971:        fi
1.4       frystyk  5972:        ;;
1.2       frystyk  5973:       esac
                   5974:       # Quote arguments (to preserve shell metacharacters).
                   5975:       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
                   5976:       args="$args \"$file\""
                   5977:     done
1.1       frystyk  5978: 
1.2       frystyk  5979:     if test -z "$run"; then
1.11      kahan    5980:       if test -n "$shlibpath_var"; then
                   5981:        # Export the shlibpath_var.
                   5982:        eval "export $shlibpath_var"
                   5983:       fi
1.1       frystyk  5984: 
1.12    ! vbancrof 5985:       # Restore saved environment variables
1.3       frystyk  5986:       if test "${save_LC_ALL+set}" = set; then
1.4       frystyk  5987:        LC_ALL="$save_LC_ALL"; export LC_ALL
1.3       frystyk  5988:       fi
                   5989:       if test "${save_LANG+set}" = set; then
1.4       frystyk  5990:        LANG="$save_LANG"; export LANG
1.3       frystyk  5991:       fi
                   5992: 
1.11      kahan    5993:       # Now prepare to actually exec the command.
                   5994:       exec_cmd="\$cmd$args"
1.2       frystyk  5995:     else
                   5996:       # Display what would be done.
1.11      kahan    5997:       if test -n "$shlibpath_var"; then
                   5998:        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
                   5999:        $echo "export $shlibpath_var"
                   6000:       fi
1.2       frystyk  6001:       $echo "$cmd$args"
1.12    ! vbancrof 6002:       exit $EXIT_SUCCESS
1.1       frystyk  6003:     fi
                   6004:     ;;
                   6005: 
1.11      kahan    6006:   # libtool clean and uninstall mode
                   6007:   clean | uninstall)
                   6008:     modename="$modename: $mode"
1.1       frystyk  6009:     rm="$nonopt"
                   6010:     files=
1.11      kahan    6011:     rmforce=
                   6012:     exit_status=0
                   6013: 
                   6014:     # This variable tells wrapper scripts just to set variables rather
                   6015:     # than running their programs.
                   6016:     libtool_install_magic="$magic"
1.1       frystyk  6017: 
                   6018:     for arg
                   6019:     do
1.11      kahan    6020:       case $arg in
                   6021:       -f) rm="$rm $arg"; rmforce=yes ;;
1.1       frystyk  6022:       -*) rm="$rm $arg" ;;
                   6023:       *) files="$files $arg" ;;
                   6024:       esac
                   6025:     done
                   6026: 
                   6027:     if test -z "$rm"; then
1.2       frystyk  6028:       $echo "$modename: you must specify an RM program" 1>&2
                   6029:       $echo "$help" 1>&2
1.12    ! vbancrof 6030:       exit $EXIT_FAILURE
1.1       frystyk  6031:     fi
                   6032: 
1.11      kahan    6033:     rmdirs=
                   6034: 
1.12    ! vbancrof 6035:     origobjdir="$objdir"
1.1       frystyk  6036:     for file in $files; do
1.2       frystyk  6037:       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
1.11      kahan    6038:       if test "X$dir" = "X$file"; then
                   6039:        dir=.
1.12    ! vbancrof 6040:        objdir="$origobjdir"
1.11      kahan    6041:       else
1.12    ! vbancrof 6042:        objdir="$dir/$origobjdir"
1.11      kahan    6043:       fi
1.2       frystyk  6044:       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.12    ! vbancrof 6045:       test "$mode" = uninstall && objdir="$dir"
1.11      kahan    6046: 
                   6047:       # Remember objdir for removal later, being careful to avoid duplicates
1.12    ! vbancrof 6048:       if test "$mode" = clean; then
1.11      kahan    6049:        case " $rmdirs " in
                   6050:          *" $objdir "*) ;;
                   6051:          *) rmdirs="$rmdirs $objdir" ;;
                   6052:        esac
                   6053:       fi
                   6054: 
                   6055:       # Don't error if the file doesn't exist and rm -f was used.
                   6056:       if (test -L "$file") >/dev/null 2>&1 \
                   6057:        || (test -h "$file") >/dev/null 2>&1 \
                   6058:        || test -f "$file"; then
                   6059:        :
                   6060:       elif test -d "$file"; then
                   6061:        exit_status=1
                   6062:        continue
                   6063:       elif test "$rmforce" = yes; then
                   6064:        continue
                   6065:       fi
1.1       frystyk  6066: 
                   6067:       rmfiles="$file"
                   6068: 
1.11      kahan    6069:       case $name in
1.1       frystyk  6070:       *.la)
1.4       frystyk  6071:        # Possibly a libtool archive, so verify it.
1.12    ! vbancrof 6072:        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.4       frystyk  6073:          . $dir/$name
                   6074: 
                   6075:          # Delete the libtool libraries and symlinks.
                   6076:          for n in $library_names; do
1.11      kahan    6077:            rmfiles="$rmfiles $objdir/$n"
1.4       frystyk  6078:          done
1.11      kahan    6079:          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
1.12    ! vbancrof 6080:          test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
1.2       frystyk  6081: 
1.12    ! vbancrof 6082:          if test "$mode" = uninstall; then
1.11      kahan    6083:            if test -n "$library_names"; then
                   6084:              # Do each command in the postuninstall commands.
1.12    ! vbancrof 6085:              cmds=$postuninstall_cmds
1.11      kahan    6086:              save_ifs="$IFS"; IFS='~'
                   6087:              for cmd in $cmds; do
                   6088:                IFS="$save_ifs"
1.12    ! vbancrof 6089:                eval cmd=\"$cmd\"
1.11      kahan    6090:                $show "$cmd"
                   6091:                $run eval "$cmd"
1.12    ! vbancrof 6092:                if test "$?" -ne 0 && test "$rmforce" != yes; then
1.11      kahan    6093:                  exit_status=1
                   6094:                fi
                   6095:              done
1.2       frystyk  6096:              IFS="$save_ifs"
1.11      kahan    6097:            fi
1.2       frystyk  6098: 
1.11      kahan    6099:            if test -n "$old_library"; then
                   6100:              # Do each command in the old_postuninstall commands.
1.12    ! vbancrof 6101:              cmds=$old_postuninstall_cmds
1.11      kahan    6102:              save_ifs="$IFS"; IFS='~'
                   6103:              for cmd in $cmds; do
                   6104:                IFS="$save_ifs"
1.12    ! vbancrof 6105:                eval cmd=\"$cmd\"
1.11      kahan    6106:                $show "$cmd"
                   6107:                $run eval "$cmd"
1.12    ! vbancrof 6108:                if test "$?" -ne 0 && test "$rmforce" != yes; then
1.11      kahan    6109:                  exit_status=1
                   6110:                fi
                   6111:              done
1.2       frystyk  6112:              IFS="$save_ifs"
1.11      kahan    6113:            fi
                   6114:            # FIXME: should reinstall the best remaining shared library.
1.2       frystyk  6115:          fi
1.4       frystyk  6116:        fi
                   6117:        ;;
1.1       frystyk  6118: 
                   6119:       *.lo)
1.12    ! vbancrof 6120:        # Possibly a libtool object, so verify it.
        !          6121:        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
        !          6122: 
        !          6123:          # Read the .lo file
        !          6124:          . $dir/$name
        !          6125: 
        !          6126:          # Add PIC object to the list of files to remove.
        !          6127:          if test -n "$pic_object" \
        !          6128:             && test "$pic_object" != none; then
        !          6129:            rmfiles="$rmfiles $dir/$pic_object"
        !          6130:          fi
        !          6131: 
        !          6132:          # Add non-PIC object to the list of files to remove.
        !          6133:          if test -n "$non_pic_object" \
        !          6134:             && test "$non_pic_object" != none; then
        !          6135:            rmfiles="$rmfiles $dir/$non_pic_object"
        !          6136:          fi
1.4       frystyk  6137:        fi
                   6138:        ;;
1.2       frystyk  6139: 
                   6140:       *)
1.12    ! vbancrof 6141:        if test "$mode" = clean ; then
        !          6142:          noexename=$name
        !          6143:          case $file in
        !          6144:          *.exe)
        !          6145:            file=`$echo $file|${SED} 's,.exe$,,'`
        !          6146:            noexename=`$echo $name|${SED} 's,.exe$,,'`
        !          6147:            # $file with .exe has already been added to rmfiles,
        !          6148:            # add $file without .exe
        !          6149:            rmfiles="$rmfiles $file"
        !          6150:            ;;
        !          6151:          esac
        !          6152:          # Do a test to see if this is a libtool program.
        !          6153:          if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
        !          6154:            relink_command=
        !          6155:            . $dir/$noexename
1.11      kahan    6156: 
1.12    ! vbancrof 6157:            # note $name still contains .exe if it was in $file originally
        !          6158:            # as does the version of $file that was added into $rmfiles
        !          6159:            rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
        !          6160:            if test "$fast_install" = yes && test -n "$relink_command"; then
        !          6161:              rmfiles="$rmfiles $objdir/lt-$name"
        !          6162:            fi
        !          6163:            if test "X$noexename" != "X$name" ; then
        !          6164:              rmfiles="$rmfiles $objdir/lt-${noexename}.c"
        !          6165:            fi
1.11      kahan    6166:          fi
                   6167:        fi
1.2       frystyk  6168:        ;;
1.1       frystyk  6169:       esac
1.11      kahan    6170:       $show "$rm $rmfiles"
                   6171:       $run $rm $rmfiles || exit_status=1
                   6172:     done
1.12    ! vbancrof 6173:     objdir="$origobjdir"
1.11      kahan    6174: 
                   6175:     # Try to remove the ${objdir}s in the directories where we deleted files
                   6176:     for dir in $rmdirs; do
                   6177:       if test -d "$dir"; then
                   6178:        $show "rmdir $dir"
                   6179:        $run rmdir $dir >/dev/null 2>&1
                   6180:       fi
1.9       kahan    6181:     done
1.11      kahan    6182: 
                   6183:     exit $exit_status
1.1       frystyk  6184:     ;;
                   6185: 
1.2       frystyk  6186:   "")
                   6187:     $echo "$modename: you must specify a MODE" 1>&2
                   6188:     $echo "$generic_help" 1>&2
1.12    ! vbancrof 6189:     exit $EXIT_FAILURE
1.1       frystyk  6190:     ;;
                   6191:   esac
                   6192: 
1.11      kahan    6193:   if test -z "$exec_cmd"; then
                   6194:     $echo "$modename: invalid operation mode \`$mode'" 1>&2
                   6195:     $echo "$generic_help" 1>&2
1.12    ! vbancrof 6196:     exit $EXIT_FAILURE
1.11      kahan    6197:   fi
                   6198: fi # test -z "$show_help"
                   6199: 
                   6200: if test -n "$exec_cmd"; then
                   6201:   eval exec $exec_cmd
1.12    ! vbancrof 6202:   exit $EXIT_FAILURE
1.11      kahan    6203: fi
1.9       kahan    6204: 
1.1       frystyk  6205: # We need to display help for each of the modes.
1.11      kahan    6206: case $mode in
1.2       frystyk  6207: "") $echo \
                   6208: "Usage: $modename [OPTION]... [MODE-ARG]...
1.1       frystyk  6209: 
                   6210: Provide generalized library-building support services.
                   6211: 
1.3       frystyk  6212:     --config          show all configuration variables
                   6213:     --debug           enable verbose shell tracing
1.1       frystyk  6214: -n, --dry-run         display commands without modifying any files
1.3       frystyk  6215:     --features        display basic configuration information and exit
1.1       frystyk  6216:     --finish          same as \`--mode=finish'
                   6217:     --help            display this help message and exit
                   6218:     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
1.2       frystyk  6219:     --quiet           same as \`--silent'
                   6220:     --silent          don't print informational messages
1.12    ! vbancrof 6221:     --tag=TAG         use configuration variables from tag TAG
1.1       frystyk  6222:     --version         print version information
                   6223: 
                   6224: MODE must be one of the following:
                   6225: 
1.11      kahan    6226:       clean           remove files from the build directory
1.1       frystyk  6227:       compile         compile a source file into a libtool object
1.2       frystyk  6228:       execute         automatically set library path, then run a program
1.1       frystyk  6229:       finish          complete the installation of libtool libraries
                   6230:       install         install libraries or executables
                   6231:       link            create a library or an executable
                   6232:       uninstall       remove libraries from an installed directory
                   6233: 
1.2       frystyk  6234: MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
1.12    ! vbancrof 6235: a more detailed description of MODE.
        !          6236: 
        !          6237: Report bugs to <bug-libtool@gnu.org>."
        !          6238:   exit $EXIT_SUCCESS
1.1       frystyk  6239:   ;;
                   6240: 
1.11      kahan    6241: clean)
                   6242:   $echo \
                   6243: "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
                   6244: 
                   6245: Remove files from the build directory.
                   6246: 
                   6247: RM is the name of the program to use to delete files associated with each FILE
                   6248: (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
                   6249: to RM.
                   6250: 
                   6251: If FILE is a libtool library, object or program, all the files associated
                   6252: with it are deleted. Otherwise, only FILE itself is deleted using RM."
                   6253:   ;;
                   6254: 
1.1       frystyk  6255: compile)
1.2       frystyk  6256:   $echo \
                   6257: "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1.1       frystyk  6258: 
                   6259: Compile a source file into a libtool library object.
1.3       frystyk  6260: 
                   6261: This mode accepts the following additional options:
                   6262: 
1.4       frystyk  6263:   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
1.11      kahan    6264:   -prefer-pic       try to building PIC objects only
                   6265:   -prefer-non-pic   try to building non-PIC objects only
1.3       frystyk  6266:   -static           always build a \`.o' file suitable for static linking
1.1       frystyk  6267: 
                   6268: COMPILE-COMMAND is a command to be used in creating a \`standard' object file
                   6269: from the given SOURCEFILE.
                   6270: 
                   6271: The output file name is determined by removing the directory component from
                   6272: SOURCEFILE, then substituting the C source code suffix \`.c' with the
1.2       frystyk  6273: library object suffix, \`.lo'."
1.1       frystyk  6274:   ;;
                   6275: 
1.2       frystyk  6276: execute)
                   6277:   $echo \
                   6278: "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
                   6279: 
                   6280: Automatically set library path, then run a program.
                   6281: 
                   6282: This mode accepts the following additional options:
1.1       frystyk  6283: 
1.2       frystyk  6284:   -dlopen FILE      add the directory containing FILE to the library path
1.1       frystyk  6285: 
1.2       frystyk  6286: This mode sets the library path environment variable according to \`-dlopen'
                   6287: flags.
1.1       frystyk  6288: 
1.2       frystyk  6289: If any of the ARGS are libtool executable wrappers, then they are translated
                   6290: into their corresponding uninstalled binary, and any of their required library
                   6291: directories are added to the library path.
                   6292: 
                   6293: Then, COMMAND is executed, with ARGS as arguments."
1.1       frystyk  6294:   ;;
                   6295: 
                   6296: finish)
1.2       frystyk  6297:   $echo \
                   6298: "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
1.1       frystyk  6299: 
                   6300: Complete the installation of libtool libraries.
                   6301: 
                   6302: Each LIBDIR is a directory that contains libtool libraries.
                   6303: 
                   6304: The commands that this mode executes may require superuser privileges.  Use
1.2       frystyk  6305: the \`--dry-run' option if you just want to see what would be executed."
1.1       frystyk  6306:   ;;
                   6307: 
                   6308: install)
1.2       frystyk  6309:   $echo \
                   6310: "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
1.1       frystyk  6311: 
                   6312: Install executables or libraries.
                   6313: 
                   6314: INSTALL-COMMAND is the installation command.  The first component should be
                   6315: either the \`install' or \`cp' program.
                   6316: 
                   6317: The rest of the components are interpreted as arguments to that command (only
1.2       frystyk  6318: BSD-compatible install options are recognized)."
1.1       frystyk  6319:   ;;
                   6320: 
                   6321: link)
1.2       frystyk  6322:   $echo \
                   6323: "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
1.1       frystyk  6324: 
                   6325: Link object files or libraries together to form another library, or to
                   6326: create an executable program.
                   6327: 
                   6328: LINK-COMMAND is a command using the C compiler that you would use to create
                   6329: a program from several object files.
                   6330: 
                   6331: The following components of LINK-COMMAND are treated specially:
                   6332: 
1.2       frystyk  6333:   -all-static       do not do any dynamic linking at all
1.4       frystyk  6334:   -avoid-version    do not add a version suffix if possible
1.2       frystyk  6335:   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
1.4       frystyk  6336:   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
1.1       frystyk  6337:   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1.4       frystyk  6338:   -export-symbols SYMFILE
                   6339:                    try to export only the symbols listed in SYMFILE
1.5       frystyk  6340:   -export-symbols-regex REGEX
                   6341:                    try to export only the symbols matching REGEX
1.1       frystyk  6342:   -LLIBDIR          search LIBDIR for required installed libraries
                   6343:   -lNAME            OUTPUT-FILE requires the installed library libNAME
1.4       frystyk  6344:   -module           build a library that can dlopened
1.11      kahan    6345:   -no-fast-install  disable the fast-install mode
                   6346:   -no-install       link a not-installable executable
1.2       frystyk  6347:   -no-undefined     declare that a library does not refer to external symbols
1.1       frystyk  6348:   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
1.12    ! vbancrof 6349:   -objectlist FILE  Use a list of object files found in FILE to specify objects
        !          6350:   -precious-files-regex REGEX
        !          6351:                     don't remove output files matching REGEX
1.2       frystyk  6352:   -release RELEASE  specify package release information
1.1       frystyk  6353:   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
1.4       frystyk  6354:   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
1.2       frystyk  6355:   -static           do not do any dynamic linking of libtool libraries
1.1       frystyk  6356:   -version-info CURRENT[:REVISION[:AGE]]
1.4       frystyk  6357:                    specify library version info [each variable defaults to 0]
1.1       frystyk  6358: 
                   6359: All other options (arguments beginning with \`-') are ignored.
                   6360: 
                   6361: Every other argument is treated as a filename.  Files ending in \`.la' are
                   6362: treated as uninstalled libtool libraries, other files are standard or library
                   6363: object files.
                   6364: 
1.4       frystyk  6365: If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
                   6366: only library objects (\`.lo' files) may be specified, and \`-rpath' is
                   6367: required, except when creating a convenience library.
1.1       frystyk  6368: 
1.4       frystyk  6369: If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
                   6370: using \`ar' and \`ranlib', or on Windows using \`lib'.
1.1       frystyk  6371: 
1.4       frystyk  6372: If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
                   6373: is created, otherwise an executable program is created."
1.1       frystyk  6374:   ;;
                   6375: 
                   6376: uninstall)
1.5       frystyk  6377:   $echo \
1.2       frystyk  6378: "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1.1       frystyk  6379: 
                   6380: Remove libraries from an installation directory.
                   6381: 
                   6382: RM is the name of the program to use to delete files associated with each FILE
                   6383: (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
                   6384: to RM.
                   6385: 
                   6386: If FILE is a libtool library, all the files associated with it are deleted.
1.2       frystyk  6387: Otherwise, only FILE itself is deleted using RM."
1.1       frystyk  6388:   ;;
                   6389: 
                   6390: *)
1.2       frystyk  6391:   $echo "$modename: invalid operation mode \`$mode'" 1>&2
                   6392:   $echo "$help" 1>&2
1.12    ! vbancrof 6393:   exit $EXIT_FAILURE
1.1       frystyk  6394:   ;;
                   6395: esac
                   6396: 
1.12    ! vbancrof 6397: $echo
1.2       frystyk  6398: $echo "Try \`$modename --help' for more information about other modes."
1.1       frystyk  6399: 
1.12    ! vbancrof 6400: exit $EXIT_SUCCESS
        !          6401: 
        !          6402: # The TAGs below are defined such that we never get into a situation
        !          6403: # in which we disable both kinds of libraries.  Given conflicting
        !          6404: # choices, we go for a static library, that is the most portable,
        !          6405: # since we can't tell whether shared libraries were disabled because
        !          6406: # the user asked for that or because the platform doesn't support
        !          6407: # them.  This is particularly important on AIX, because we don't
        !          6408: # support having both static and shared libraries enabled at the same
        !          6409: # time on that platform, so we default to a shared-only configuration.
        !          6410: # If a disable-shared tag is given, we'll fallback to a static-only
        !          6411: # configuration.  But we'll never go from static-only to shared-only.
        !          6412: 
        !          6413: # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
        !          6414: build_libtool_libs=no
        !          6415: build_old_libs=yes
        !          6416: # ### END LIBTOOL TAG CONFIG: disable-shared
        !          6417: 
        !          6418: # ### BEGIN LIBTOOL TAG CONFIG: disable-static
        !          6419: build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
        !          6420: # ### END LIBTOOL TAG CONFIG: disable-static
1.1       frystyk  6421: 
                   6422: # Local Variables:
                   6423: # mode:shell-script
                   6424: # sh-indentation:2
                   6425: # End:

Webmaster