[BACK]Return to ltmain.sh CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp

Annotation of OpenXM_contrib/gmp/ltmain.sh, Revision 1.1.1.2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>