ltmain.sh
上传用户:lijia5631
上传日期:2008-11-10
资源大小:1214k
文件大小:179k
源码类别:

视频捕捉/采集

开发平台:

MultiPlatform

  1. libname_save=$libname
  2. release_save=$release
  3. versuffix_save=$versuffix
  4. major_save=$major
  5. # I'm not sure if I'm treating the release correctly.  I think
  6. # release should show up in the -l (ie -lgmp5) so we don't want to
  7. # add it in twice.  Is that correct?
  8. release=""
  9. versuffix=""
  10. major=""
  11. newdeplibs=
  12. droppeddeps=no
  13. case $deplibs_check_method in
  14. pass_all)
  15.   # Don't check for shared/static.  Everything works.
  16.   # This might be a little naive.  We might want to check
  17.   # whether the library exists or not.  But this is on
  18.   # osf3 & osf4 and I'm not really sure... Just
  19.   # implementing what was already the behavior.
  20.   newdeplibs=$deplibs
  21.   ;;
  22. test_compile)
  23.   # This code stresses the "libraries are programs" paradigm to its
  24.   # limits. Maybe even breaks it.  We compile a program, linking it
  25.   # against the deplibs as a proxy for the library.  Then we can check
  26.   # whether they linked in statically or dynamically with ldd.
  27.   $rm conftest.c
  28.   cat > conftest.c <<EOF
  29.   int main() { return 0; }
  30. EOF
  31.   $rm conftest
  32.   $LTCC -o conftest conftest.c $deplibs
  33.   if test "$?" -eq 0 ; then
  34.     ldd_output=`ldd conftest`
  35.     for i in $deplibs; do
  36.       name="`expr $i : '-l(.*)'`"
  37.       # If $name is empty we are operating on a -L argument.
  38.               if test "$name" != "" && test "$name" -ne "0"; then
  39. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  40.   case " $predeps $postdeps " in
  41.   *" $i "*)
  42.     newdeplibs="$newdeplibs $i"
  43.     i=""
  44.     ;;
  45.   esac
  46.         fi
  47. if test -n "$i" ; then
  48.   libname=`eval \$echo "$libname_spec"`
  49.   deplib_matches=`eval \$echo "$library_names_spec"`
  50.   set dummy $deplib_matches
  51.   deplib_match=$2
  52.   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  53.     newdeplibs="$newdeplibs $i"
  54.   else
  55.     droppeddeps=yes
  56.     $echo
  57.     $echo "*** Warning: dynamic linker does not accept needed library $i."
  58.     $echo "*** I have the capability to make that library automatically link in when"
  59.     $echo "*** you link to this library.  But I can only do this if you have a"
  60.     $echo "*** shared version of the library, which I believe you do not have"
  61.     $echo "*** because a test_compile did reveal that the linker did not use it for"
  62.     $echo "*** its dynamic dependency list that programs get resolved with at runtime."
  63.   fi
  64. fi
  65.       else
  66. newdeplibs="$newdeplibs $i"
  67.       fi
  68.     done
  69.   else
  70.     # Error occurred in the first compile.  Let's try to salvage
  71.     # the situation: Compile a separate program for each library.
  72.     for i in $deplibs; do
  73.       name="`expr $i : '-l(.*)'`"
  74.       # If $name is empty we are operating on a -L argument.
  75.               if test "$name" != "" && test "$name" != "0"; then
  76. $rm conftest
  77. $LTCC -o conftest conftest.c $i
  78. # Did it work?
  79. if test "$?" -eq 0 ; then
  80.   ldd_output=`ldd conftest`
  81.   if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  82.     case " $predeps $postdeps " in
  83.     *" $i "*)
  84.       newdeplibs="$newdeplibs $i"
  85.       i=""
  86.       ;;
  87.     esac
  88.   fi
  89.   if test -n "$i" ; then
  90.     libname=`eval \$echo "$libname_spec"`
  91.     deplib_matches=`eval \$echo "$library_names_spec"`
  92.     set dummy $deplib_matches
  93.     deplib_match=$2
  94.     if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  95.       newdeplibs="$newdeplibs $i"
  96.     else
  97.       droppeddeps=yes
  98.       $echo
  99.       $echo "*** Warning: dynamic linker does not accept needed library $i."
  100.       $echo "*** I have the capability to make that library automatically link in when"
  101.       $echo "*** you link to this library.  But I can only do this if you have a"
  102.       $echo "*** shared version of the library, which you do not appear to have"
  103.       $echo "*** because a test_compile did reveal that the linker did not use this one"
  104.       $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
  105.     fi
  106.   fi
  107. else
  108.   droppeddeps=yes
  109.   $echo
  110.   $echo "*** Warning!  Library $i is needed by this library but I was not able to"
  111.   $echo "***  make it link in!  You will probably need to install it or some"
  112.   $echo "*** library that it depends on before this library will be fully"
  113.   $echo "*** functional.  Installing it before continuing would be even better."
  114. fi
  115.       else
  116. newdeplibs="$newdeplibs $i"
  117.       fi
  118.     done
  119.   fi
  120.   ;;
  121. file_magic*)
  122.   set dummy $deplibs_check_method
  123.   file_magic_regex=`expr "$deplibs_check_method" : "$2 (.*)"`
  124.   for a_deplib in $deplibs; do
  125.     name="`expr $a_deplib : '-l(.*)'`"
  126.     # If $name is empty we are operating on a -L argument.
  127.             if test "$name" != "" && test  "$name" != "0"; then
  128.       if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  129. case " $predeps $postdeps " in
  130. *" $a_deplib "*)
  131.   newdeplibs="$newdeplibs $a_deplib"
  132.   a_deplib=""
  133.   ;;
  134. esac
  135.       fi
  136.       if test -n "$a_deplib" ; then
  137. libname=`eval \$echo "$libname_spec"`
  138. for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  139.   potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  140.   for potent_lib in $potential_libs; do
  141.       # Follow soft links.
  142.       if ls -lLd "$potent_lib" 2>/dev/null 
  143.  | grep " -> " >/dev/null; then
  144. continue
  145.       fi
  146.       # The statement above tries to avoid entering an
  147.       # endless loop below, in case of cyclic links.
  148.       # We might still enter an endless loop, since a link
  149.       # loop can be closed while we follow links,
  150.       # but so what?
  151.       potlib="$potent_lib"
  152.       while test -h "$potlib" 2>/dev/null; do
  153. potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
  154. case $potliblink in
  155. [\/]* | [A-Za-z]:[\/]*) potlib="$potliblink";;
  156. *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
  157. esac
  158.       done
  159.       if eval $file_magic_cmd "$potlib" 2>/dev/null 
  160.  | ${SED} 10q 
  161.  | $EGREP "$file_magic_regex" > /dev/null; then
  162. newdeplibs="$newdeplibs $a_deplib"
  163. a_deplib=""
  164. break 2
  165.       fi
  166.   done
  167. done
  168.       fi
  169.       if test -n "$a_deplib" ; then
  170. droppeddeps=yes
  171. $echo
  172. $echo "*** Warning: linker path does not have real file for library $a_deplib."
  173. $echo "*** I have the capability to make that library automatically link in when"
  174. $echo "*** you link to this library.  But I can only do this if you have a"
  175. $echo "*** shared version of the library, which you do not appear to have"
  176. $echo "*** because I did check the linker path looking for a file starting"
  177. if test -z "$potlib" ; then
  178.   $echo "*** with $libname but no candidates were found. (...for file magic test)"
  179. else
  180.   $echo "*** with $libname and none of the candidates passed a file format test"
  181.   $echo "*** using a file magic. Last file checked: $potlib"
  182. fi
  183.       fi
  184.     else
  185.       # Add a -L argument.
  186.       newdeplibs="$newdeplibs $a_deplib"
  187.     fi
  188.   done # Gone through all deplibs.
  189.   ;;
  190. match_pattern*)
  191.   set dummy $deplibs_check_method
  192.   match_pattern_regex=`expr "$deplibs_check_method" : "$2 (.*)"`
  193.   for a_deplib in $deplibs; do
  194.     name="`expr $a_deplib : '-l(.*)'`"
  195.     # If $name is empty we are operating on a -L argument.
  196.     if test -n "$name" && test "$name" != "0"; then
  197.       if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  198. case " $predeps $postdeps " in
  199. *" $a_deplib "*)
  200.   newdeplibs="$newdeplibs $a_deplib"
  201.   a_deplib=""
  202.   ;;
  203. esac
  204.       fi
  205.       if test -n "$a_deplib" ; then
  206. libname=`eval \$echo "$libname_spec"`
  207. for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  208.   potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  209.   for potent_lib in $potential_libs; do
  210.     potlib="$potent_lib" # see symlink-check above in file_magic test
  211.     if eval $echo "$potent_lib" 2>/dev/null 
  212.         | ${SED} 10q 
  213.         | $EGREP "$match_pattern_regex" > /dev/null; then
  214.       newdeplibs="$newdeplibs $a_deplib"
  215.       a_deplib=""
  216.       break 2
  217.     fi
  218.   done
  219. done
  220.       fi
  221.       if test -n "$a_deplib" ; then
  222. droppeddeps=yes
  223. $echo
  224. $echo "*** Warning: linker path does not have real file for library $a_deplib."
  225. $echo "*** I have the capability to make that library automatically link in when"
  226. $echo "*** you link to this library.  But I can only do this if you have a"
  227. $echo "*** shared version of the library, which you do not appear to have"
  228. $echo "*** because I did check the linker path looking for a file starting"
  229. if test -z "$potlib" ; then
  230.   $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
  231. else
  232.   $echo "*** with $libname and none of the candidates passed a file format test"
  233.   $echo "*** using a regex pattern. Last file checked: $potlib"
  234. fi
  235.       fi
  236.     else
  237.       # Add a -L argument.
  238.       newdeplibs="$newdeplibs $a_deplib"
  239.     fi
  240.   done # Gone through all deplibs.
  241.   ;;
  242. none | unknown | *)
  243.   newdeplibs=""
  244.   tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' 
  245.     -e 's/ -[LR][^ ]*//g'`
  246.   if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  247.     for i in $predeps $postdeps ; do
  248.       # can't use Xsed below, because $i might contain '/'
  249.       tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
  250.     done
  251.   fi
  252.   if $echo "X $tmp_deplibs" | $Xsed -e 's/[  ]//g' 
  253.     | grep . >/dev/null; then
  254.     $echo
  255.     if test "X$deplibs_check_method" = "Xnone"; then
  256.       $echo "*** Warning: inter-library dependencies are not supported in this platform."
  257.     else
  258.       $echo "*** Warning: inter-library dependencies are not known to be supported."
  259.     fi
  260.     $echo "*** All declared inter-library dependencies are being dropped."
  261.     droppeddeps=yes
  262.   fi
  263.   ;;
  264. esac
  265. versuffix=$versuffix_save
  266. major=$major_save
  267. release=$release_save
  268. libname=$libname_save
  269. name=$name_save
  270. case $host in
  271. *-*-rhapsody* | *-*-darwin1.[012])
  272.   # On Rhapsody replace the C library is the System framework
  273.   newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
  274.   ;;
  275. esac
  276. if test "$droppeddeps" = yes; then
  277.   if test "$module" = yes; then
  278.     $echo
  279.     $echo "*** Warning: libtool could not satisfy all declared inter-library"
  280.     $echo "*** dependencies of module $libname.  Therefore, libtool will create"
  281.     $echo "*** a static module, that should work as long as the dlopening"
  282.     $echo "*** application is linked with the -dlopen flag."
  283.     if test -z "$global_symbol_pipe"; then
  284.       $echo
  285.       $echo "*** However, this would only work if libtool was able to extract symbol"
  286.       $echo "*** lists from a program, using `nm' or equivalent, but libtool could"
  287.       $echo "*** not find such a program.  So, this module is probably useless."
  288.       $echo "*** `nm' from GNU binutils and a full rebuild may help."
  289.     fi
  290.     if test "$build_old_libs" = no; then
  291.       oldlibs="$output_objdir/$libname.$libext"
  292.       build_libtool_libs=module
  293.       build_old_libs=yes
  294.     else
  295.       build_libtool_libs=no
  296.     fi
  297.   else
  298.     $echo "*** The inter-library dependencies that have been dropped here will be"
  299.     $echo "*** automatically added whenever a program is linked with this library"
  300.     $echo "*** or is declared to -dlopen it."
  301.     if test "$allow_undefined" = no; then
  302.       $echo
  303.       $echo "*** Since this library must not contain undefined symbols,"
  304.       $echo "*** because either the platform does not support them or"
  305.       $echo "*** it was explicitly requested with -no-undefined,"
  306.       $echo "*** libtool will only create a static version of it."
  307.       if test "$build_old_libs" = no; then
  308. oldlibs="$output_objdir/$libname.$libext"
  309. build_libtool_libs=module
  310. build_old_libs=yes
  311.       else
  312. build_libtool_libs=no
  313.       fi
  314.     fi
  315.   fi
  316. fi
  317. # Done checking deplibs!
  318. deplibs=$newdeplibs
  319.       fi
  320.       # All the library-specific variables (install_libdir is set above).
  321.       library_names=
  322.       old_library=
  323.       dlname=
  324.       # Test again, we may have decided not to build it any more
  325.       if test "$build_libtool_libs" = yes; then
  326. if test "$hardcode_into_libs" = yes; then
  327.   # Hardcode the library paths
  328.   hardcode_libdirs=
  329.   dep_rpath=
  330.   rpath="$finalize_rpath"
  331.   test "$mode" != relink && rpath="$compile_rpath$rpath"
  332.   for libdir in $rpath; do
  333.     if test -n "$hardcode_libdir_flag_spec"; then
  334.       if test -n "$hardcode_libdir_separator"; then
  335. if test -z "$hardcode_libdirs"; then
  336.   hardcode_libdirs="$libdir"
  337. else
  338.   # Just accumulate the unique libdirs.
  339.   case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  340.   *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  341.     ;;
  342.   *)
  343.     hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  344.     ;;
  345.   esac
  346. fi
  347.       else
  348. eval flag="$hardcode_libdir_flag_spec"
  349. dep_rpath="$dep_rpath $flag"
  350.       fi
  351.     elif test -n "$runpath_var"; then
  352.       case "$perm_rpath " in
  353.       *" $libdir "*) ;;
  354.       *) perm_rpath="$perm_rpath $libdir" ;;
  355.       esac
  356.     fi
  357.   done
  358.   # Substitute the hardcoded libdirs into the rpath.
  359.   if test -n "$hardcode_libdir_separator" &&
  360.      test -n "$hardcode_libdirs"; then
  361.     libdir="$hardcode_libdirs"
  362.     if test -n "$hardcode_libdir_flag_spec_ld"; then
  363.       eval dep_rpath="$hardcode_libdir_flag_spec_ld"
  364.     else
  365.       eval dep_rpath="$hardcode_libdir_flag_spec"
  366.     fi
  367.   fi
  368.   if test -n "$runpath_var" && test -n "$perm_rpath"; then
  369.     # We should set the runpath_var.
  370.     rpath=
  371.     for dir in $perm_rpath; do
  372.       rpath="$rpath$dir:"
  373.     done
  374.     eval "$runpath_var='$rpath$$runpath_var'; export $runpath_var"
  375.   fi
  376.   test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
  377. fi
  378. shlibpath="$finalize_shlibpath"
  379. test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
  380. if test -n "$shlibpath"; then
  381.   eval "$shlibpath_var='$shlibpath$$shlibpath_var'; export $shlibpath_var"
  382. fi
  383. # Get the real and link names of the library.
  384. eval shared_ext="$shrext_cmds"
  385. eval library_names="$library_names_spec"
  386. set dummy $library_names
  387. realname="$2"
  388. shift; shift
  389. if test -n "$soname_spec"; then
  390.   eval soname="$soname_spec"
  391. else
  392.   soname="$realname"
  393. fi
  394. if test -z "$dlname"; then
  395.   dlname=$soname
  396. fi
  397. lib="$output_objdir/$realname"
  398. for link
  399. do
  400.   linknames="$linknames $link"
  401. done
  402. # Use standard objects if they are pic
  403. test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  404. # Prepare the list of exported symbols
  405. if test -z "$export_symbols"; then
  406.   if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
  407.     $show "generating symbol list for `$libname.la'"
  408.     export_symbols="$output_objdir/$libname.exp"
  409.     $run $rm $export_symbols
  410.     cmds=$export_symbols_cmds
  411.     save_ifs="$IFS"; IFS='~'
  412.     for cmd in $cmds; do
  413.       IFS="$save_ifs"
  414.       eval cmd="$cmd"
  415.       if len=`expr "X$cmd" : ".*"` &&
  416.        test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
  417.         $show "$cmd"
  418.         $run eval "$cmd" || exit $?
  419.         skipped_export=false
  420.       else
  421.         # The command line is too long to execute in one step.
  422.         $show "using reloadable object file for export list..."
  423.         skipped_export=:
  424.       fi
  425.     done
  426.     IFS="$save_ifs"
  427.     if test -n "$export_symbols_regex"; then
  428.       $show "$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T""
  429.       $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
  430.       $show "$mv "${export_symbols}T" "$export_symbols""
  431.       $run eval '$mv "${export_symbols}T" "$export_symbols"'
  432.     fi
  433.   fi
  434. fi
  435. if test -n "$export_symbols" && test -n "$include_expsyms"; then
  436.   $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
  437. fi
  438. tmp_deplibs=
  439. for test_deplib in $deplibs; do
  440. case " $convenience " in
  441. *" $test_deplib "*) ;;
  442. *)
  443. tmp_deplibs="$tmp_deplibs $test_deplib"
  444. ;;
  445. esac
  446. done
  447. deplibs="$tmp_deplibs"
  448. if test -n "$convenience"; then
  449.   if test -n "$whole_archive_flag_spec"; then
  450.     save_libobjs=$libobjs
  451.     eval libobjs="$libobjs $whole_archive_flag_spec"
  452.   else
  453.     gentop="$output_objdir/${outputname}x"
  454.     $show "${rm}r $gentop"
  455.     $run ${rm}r "$gentop"
  456.     $show "$mkdir $gentop"
  457.     $run $mkdir "$gentop"
  458.     status=$?
  459.     if test "$status" -ne 0 && test ! -d "$gentop"; then
  460.       exit $status
  461.     fi
  462.     generated="$generated $gentop"
  463.     for xlib in $convenience; do
  464.       # Extract the objects.
  465.       case $xlib in
  466.       [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  467.       *) xabs=`pwd`"/$xlib" ;;
  468.       esac
  469.       xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  470.       xdir="$gentop/$xlib"
  471.       $show "${rm}r $xdir"
  472.       $run ${rm}r "$xdir"
  473.       $show "$mkdir $xdir"
  474.       $run $mkdir "$xdir"
  475.       status=$?
  476.       if test "$status" -ne 0 && test ! -d "$xdir"; then
  477. exit $status
  478.       fi
  479.       # We will extract separately just the conflicting names and we will no
  480.       # longer touch any unique names. It is faster to leave these extract
  481.       # automatically by $AR in one run.
  482.       $show "(cd $xdir && $AR x $xabs)"
  483.       $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  484.       if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
  485. :
  486.       else
  487. $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
  488. $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
  489. $AR t "$xabs" | sort | uniq -cd | while read -r count name
  490. do
  491.   i=1
  492.   while test "$i" -le "$count"
  493.   do
  494.    # Put our $i before any first dot (extension)
  495.    # Never overwrite any file
  496.    name_to="$name"
  497.    while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
  498.    do
  499.      name_to=`$echo "X$name_to" | $Xsed -e "s/([^.]*)/1-$i/"`
  500.    done
  501.    $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
  502.    $run eval "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" || exit $?
  503.    i=`expr $i + 1`
  504.   done
  505. done
  506.       fi
  507.       libobjs="$libobjs "`find $xdir -name *.$objext -print -o -name *.lo -print | $NL2SP`
  508.     done
  509.   fi
  510. fi
  511. if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
  512.   eval flag="$thread_safe_flag_spec"
  513.   linker_flags="$linker_flags $flag"
  514. fi
  515. # Make a backup of the uninstalled library when relinking
  516. if test "$mode" = relink; then
  517.   $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
  518. fi
  519. # Do each of the archive commands.
  520. if test "$module" = yes && test -n "$module_cmds" ; then
  521.   if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
  522.     eval test_cmds="$module_expsym_cmds"
  523.     cmds=$module_expsym_cmds
  524.   else
  525.     eval test_cmds="$module_cmds"
  526.     cmds=$module_cmds
  527.   fi
  528. else
  529. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
  530.   eval test_cmds="$archive_expsym_cmds"
  531.   cmds=$archive_expsym_cmds
  532. else
  533.   eval test_cmds="$archive_cmds"
  534.   cmds=$archive_cmds
  535.   fi
  536. fi
  537. if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
  538.    test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
  539.   :
  540. else
  541.   # The command line is too long to link in one step, link piecewise.
  542.   $echo "creating reloadable object files..."
  543.   # Save the value of $output and $libobjs because we want to
  544.   # use them later.  If we have whole_archive_flag_spec, we
  545.   # want to use save_libobjs as it was before
  546.   # whole_archive_flag_spec was expanded, because we can't
  547.   # assume the linker understands whole_archive_flag_spec.
  548.   # This may have to be revisited, in case too many
  549.   # convenience libraries get linked in and end up exceeding
  550.   # the spec.
  551.   if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
  552.     save_libobjs=$libobjs
  553.   fi
  554.   save_output=$output
  555.   # Clear the reloadable object creation command queue and
  556.   # initialize k to one.
  557.   test_cmds=
  558.   concat_cmds=
  559.   objlist=
  560.   delfiles=
  561.   last_robj=
  562.   k=1
  563.   output=$output_objdir/$save_output-${k}.$objext
  564.   # Loop over the list of objects to be linked.
  565.   for obj in $save_libobjs
  566.   do
  567.     eval test_cmds="$reload_cmds $objlist $last_robj"
  568.     if test "X$objlist" = X ||
  569.        { len=`expr "X$test_cmds" : ".*"` &&
  570.  test "$len" -le "$max_cmd_len"; }; then
  571.       objlist="$objlist $obj"
  572.     else
  573.       # The command $test_cmds is almost too long, add a
  574.       # command to the queue.
  575.       if test "$k" -eq 1 ; then
  576. # The first file doesn't have a previous command to add.
  577. eval concat_cmds="$reload_cmds $objlist $last_robj"
  578.       else
  579. # All subsequent reloadable object files will link in
  580. # the last one created.
  581. eval concat_cmds="$concat_cmds~$reload_cmds $objlist $last_robj"
  582.       fi
  583.       last_robj=$output_objdir/$save_output-${k}.$objext
  584.       k=`expr $k + 1`
  585.       output=$output_objdir/$save_output-${k}.$objext
  586.       objlist=$obj
  587.       len=1
  588.     fi
  589.   done
  590.   # Handle the remaining objects by creating one last
  591.   # reloadable object file.  All subsequent reloadable object
  592.   # files will link in the last one created.
  593.   test -z "$concat_cmds" || concat_cmds=$concat_cmds~
  594.   eval concat_cmds="${concat_cmds}$reload_cmds $objlist $last_robj"
  595.   if ${skipped_export-false}; then
  596.     $show "generating symbol list for `$libname.la'"
  597.     export_symbols="$output_objdir/$libname.exp"
  598.     $run $rm $export_symbols
  599.     libobjs=$output
  600.     # Append the command to create the export file.
  601.     eval concat_cmds="$concat_cmds~$export_symbols_cmds"
  602.           fi
  603.   # Set up a command to remove the reloadale object files
  604.   # after they are used.
  605.   i=0
  606.   while test "$i" -lt "$k"
  607.   do
  608.     i=`expr $i + 1`
  609.     delfiles="$delfiles $output_objdir/$save_output-${i}.$objext"
  610.   done
  611.   $echo "creating a temporary reloadable object file: $output"
  612.   # Loop through the commands generated above and execute them.
  613.   save_ifs="$IFS"; IFS='~'
  614.   for cmd in $concat_cmds; do
  615.     IFS="$save_ifs"
  616.     $show "$cmd"
  617.     $run eval "$cmd" || exit $?
  618.   done
  619.   IFS="$save_ifs"
  620.   libobjs=$output
  621.   # Restore the value of output.
  622.   output=$save_output
  623.   if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
  624.     eval libobjs="$libobjs $whole_archive_flag_spec"
  625.   fi
  626.   # Expand the library linking commands again to reset the
  627.   # value of $libobjs for piecewise linking.
  628.   # Do each of the archive commands.
  629.   if test "$module" = yes && test -n "$module_cmds" ; then
  630.     if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
  631.       cmds=$module_expsym_cmds
  632.     else
  633.       cmds=$module_cmds
  634.     fi
  635.   else
  636.   if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
  637.     cmds=$archive_expsym_cmds
  638.   else
  639.     cmds=$archive_cmds
  640.     fi
  641.   fi
  642.   # Append the command to remove the reloadable object files
  643.   # to the just-reset $cmds.
  644.   eval cmds="$cmds~$rm $delfiles"
  645. fi
  646. save_ifs="$IFS"; IFS='~'
  647. for cmd in $cmds; do
  648.   IFS="$save_ifs"
  649.   eval cmd="$cmd"
  650.   $show "$cmd"
  651.   $run eval "$cmd" || exit $?
  652. done
  653. IFS="$save_ifs"
  654. # Restore the uninstalled library and exit
  655. if test "$mode" = relink; then
  656.   $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
  657.   exit $EXIT_SUCCESS
  658. fi
  659. # Create links to the real library.
  660. for linkname in $linknames; do
  661.   if test "$realname" != "$linkname"; then
  662.     $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
  663.     $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
  664.   fi
  665. done
  666. # If -module or -export-dynamic was specified, set the dlname.
  667. if test "$module" = yes || test "$export_dynamic" = yes; then
  668.   # On all known operating systems, these are identical.
  669.   dlname="$soname"
  670. fi
  671.       fi
  672.       ;;
  673.     obj)
  674.       if test -n "$deplibs"; then
  675. $echo "$modename: warning: `-l' and `-L' are ignored for objects" 1>&2
  676.       fi
  677.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  678. $echo "$modename: warning: `-dlopen' is ignored for objects" 1>&2
  679.       fi
  680.       if test -n "$rpath"; then
  681. $echo "$modename: warning: `-rpath' is ignored for objects" 1>&2
  682.       fi
  683.       if test -n "$xrpath"; then
  684. $echo "$modename: warning: `-R' is ignored for objects" 1>&2
  685.       fi
  686.       if test -n "$vinfo"; then
  687. $echo "$modename: warning: `-version-info' is ignored for objects" 1>&2
  688.       fi
  689.       if test -n "$release"; then
  690. $echo "$modename: warning: `-release' is ignored for objects" 1>&2
  691.       fi
  692.       case $output in
  693.       *.lo)
  694. if test -n "$objs$old_deplibs"; then
  695.   $echo "$modename: cannot build library object `$output' from non-libtool objects" 1>&2
  696.   exit $EXIT_FAILURE
  697. fi
  698. libobj="$output"
  699. obj=`$echo "X$output" | $Xsed -e "$lo2o"`
  700. ;;
  701.       *)
  702. libobj=
  703. obj="$output"
  704. ;;
  705.       esac
  706.       # Delete the old objects.
  707.       $run $rm $obj $libobj
  708.       # Objects from convenience libraries.  This assumes
  709.       # single-version convenience libraries.  Whenever we create
  710.       # different ones for PIC/non-PIC, this we'll have to duplicate
  711.       # the extraction.
  712.       reload_conv_objs=
  713.       gentop=
  714.       # reload_cmds runs $LD directly, so let us get rid of
  715.       # -Wl from whole_archive_flag_spec
  716.       wl=
  717.       if test -n "$convenience"; then
  718. if test -n "$whole_archive_flag_spec"; then
  719.   eval reload_conv_objs="$reload_objs $whole_archive_flag_spec"
  720. else
  721.   gentop="$output_objdir/${obj}x"
  722.   $show "${rm}r $gentop"
  723.   $run ${rm}r "$gentop"
  724.   $show "$mkdir $gentop"
  725.   $run $mkdir "$gentop"
  726.   status=$?
  727.   if test "$status" -ne 0 && test ! -d "$gentop"; then
  728.     exit $status
  729.   fi
  730.   generated="$generated $gentop"
  731.   for xlib in $convenience; do
  732.     # Extract the objects.
  733.     case $xlib in
  734.     [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  735.     *) xabs=`pwd`"/$xlib" ;;
  736.     esac
  737.     xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  738.     xdir="$gentop/$xlib"
  739.     $show "${rm}r $xdir"
  740.     $run ${rm}r "$xdir"
  741.     $show "$mkdir $xdir"
  742.     $run $mkdir "$xdir"
  743.     status=$?
  744.     if test "$status" -ne 0 && test ! -d "$xdir"; then
  745.       exit $status
  746.     fi
  747.     # We will extract separately just the conflicting names and we will no
  748.     # longer touch any unique names. It is faster to leave these extract
  749.     # automatically by $AR in one run.
  750.     $show "(cd $xdir && $AR x $xabs)"
  751.     $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  752.     if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
  753.       :
  754.     else
  755.       $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
  756.       $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
  757.       $AR t "$xabs" | sort | uniq -cd | while read -r count name
  758.       do
  759. i=1
  760. while test "$i" -le "$count"
  761. do
  762.  # Put our $i before any first dot (extension)
  763.  # Never overwrite any file
  764.  name_to="$name"
  765.  while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
  766.  do
  767.    name_to=`$echo "X$name_to" | $Xsed -e "s/([^.]*)/1-$i/"`
  768.  done
  769.  $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
  770.  $run eval "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" || exit $?
  771.  i=`expr $i + 1`
  772. done
  773.       done
  774.     fi
  775.     reload_conv_objs="$reload_objs "`find $xdir -name *.$objext -print -o -name *.lo -print | $NL2SP`
  776.   done
  777. fi
  778.       fi
  779.       # Create the old-style object.
  780.       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
  781.       output="$obj"
  782.       cmds=$reload_cmds
  783.       save_ifs="$IFS"; IFS='~'
  784.       for cmd in $cmds; do
  785. IFS="$save_ifs"
  786. eval cmd="$cmd"
  787. $show "$cmd"
  788. $run eval "$cmd" || exit $?
  789.       done
  790.       IFS="$save_ifs"
  791.       # Exit if we aren't doing a library object file.
  792.       if test -z "$libobj"; then
  793. if test -n "$gentop"; then
  794.   $show "${rm}r $gentop"
  795.   $run ${rm}r $gentop
  796. fi
  797. exit $EXIT_SUCCESS
  798.       fi
  799.       if test "$build_libtool_libs" != yes; then
  800. if test -n "$gentop"; then
  801.   $show "${rm}r $gentop"
  802.   $run ${rm}r $gentop
  803. fi
  804. # Create an invalid libtool object if no PIC, so that we don't
  805. # accidentally link it into a program.
  806. # $show "echo timestamp > $libobj"
  807. # $run eval "echo timestamp > $libobj" || exit $?
  808. exit $EXIT_SUCCESS
  809.       fi
  810.       if test -n "$pic_flag" || test "$pic_mode" != default; then
  811. # Only do commands if we really have different PIC objects.
  812. reload_objs="$libobjs $reload_conv_objs"
  813. output="$libobj"
  814. cmds=$reload_cmds
  815. save_ifs="$IFS"; IFS='~'
  816. for cmd in $cmds; do
  817.   IFS="$save_ifs"
  818.   eval cmd="$cmd"
  819.   $show "$cmd"
  820.   $run eval "$cmd" || exit $?
  821. done
  822. IFS="$save_ifs"
  823.       fi
  824.       if test -n "$gentop"; then
  825. $show "${rm}r $gentop"
  826. $run ${rm}r $gentop
  827.       fi
  828.       exit $EXIT_SUCCESS
  829.       ;;
  830.     prog)
  831.       case $host in
  832. *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
  833.       esac
  834.       if test -n "$vinfo"; then
  835. $echo "$modename: warning: `-version-info' is ignored for programs" 1>&2
  836.       fi
  837.       if test -n "$release"; then
  838. $echo "$modename: warning: `-release' is ignored for programs" 1>&2
  839.       fi
  840.       if test "$preload" = yes; then
  841. if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
  842.    test "$dlopen_self_static" = unknown; then
  843.   $echo "$modename: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
  844. fi
  845.       fi
  846.       case $host in
  847.       *-*-rhapsody* | *-*-darwin1.[012])
  848. # On Rhapsody replace the C library is the System framework
  849. compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
  850. finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
  851. ;;
  852.       esac
  853.       case $host in
  854.       *darwin*)
  855.         # Don't allow lazy linking, it breaks C++ global constructors
  856.         if test "$tagname" = CXX ; then
  857.         compile_command="$compile_command ${wl}-bind_at_load"
  858.         finalize_command="$finalize_command ${wl}-bind_at_load"
  859.         fi
  860.         ;;
  861.       esac
  862.       compile_command="$compile_command $compile_deplibs"
  863.       finalize_command="$finalize_command $finalize_deplibs"
  864.       if test -n "$rpath$xrpath"; then
  865. # If the user specified any rpath flags, then add them.
  866. for libdir in $rpath $xrpath; do
  867.   # This is the magic to use -rpath.
  868.   case "$finalize_rpath " in
  869.   *" $libdir "*) ;;
  870.   *) finalize_rpath="$finalize_rpath $libdir" ;;
  871.   esac
  872. done
  873.       fi
  874.       # Now hardcode the library paths
  875.       rpath=
  876.       hardcode_libdirs=
  877.       for libdir in $compile_rpath $finalize_rpath; do
  878. if test -n "$hardcode_libdir_flag_spec"; then
  879.   if test -n "$hardcode_libdir_separator"; then
  880.     if test -z "$hardcode_libdirs"; then
  881.       hardcode_libdirs="$libdir"
  882.     else
  883.       # Just accumulate the unique libdirs.
  884.       case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  885.       *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  886. ;;
  887.       *)
  888. hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  889. ;;
  890.       esac
  891.     fi
  892.   else
  893.     eval flag="$hardcode_libdir_flag_spec"
  894.     rpath="$rpath $flag"
  895.   fi
  896. elif test -n "$runpath_var"; then
  897.   case "$perm_rpath " in
  898.   *" $libdir "*) ;;
  899.   *) perm_rpath="$perm_rpath $libdir" ;;
  900.   esac
  901. fi
  902. case $host in
  903. *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  904.   case :$dllsearchpath: in
  905.   *":$libdir:"*) ;;
  906.   *) dllsearchpath="$dllsearchpath:$libdir";;
  907.   esac
  908.   ;;
  909. esac
  910.       done
  911.       # Substitute the hardcoded libdirs into the rpath.
  912.       if test -n "$hardcode_libdir_separator" &&
  913.  test -n "$hardcode_libdirs"; then
  914. libdir="$hardcode_libdirs"
  915. eval rpath=" $hardcode_libdir_flag_spec"
  916.       fi
  917.       compile_rpath="$rpath"
  918.       rpath=
  919.       hardcode_libdirs=
  920.       for libdir in $finalize_rpath; do
  921. if test -n "$hardcode_libdir_flag_spec"; then
  922.   if test -n "$hardcode_libdir_separator"; then
  923.     if test -z "$hardcode_libdirs"; then
  924.       hardcode_libdirs="$libdir"
  925.     else
  926.       # Just accumulate the unique libdirs.
  927.       case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  928.       *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  929. ;;
  930.       *)
  931. hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  932. ;;
  933.       esac
  934.     fi
  935.   else
  936.     eval flag="$hardcode_libdir_flag_spec"
  937.     rpath="$rpath $flag"
  938.   fi
  939. elif test -n "$runpath_var"; then
  940.   case "$finalize_perm_rpath " in
  941.   *" $libdir "*) ;;
  942.   *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
  943.   esac
  944. fi
  945.       done
  946.       # Substitute the hardcoded libdirs into the rpath.
  947.       if test -n "$hardcode_libdir_separator" &&
  948.  test -n "$hardcode_libdirs"; then
  949. libdir="$hardcode_libdirs"
  950. eval rpath=" $hardcode_libdir_flag_spec"
  951.       fi
  952.       finalize_rpath="$rpath"
  953.       if test -n "$libobjs" && test "$build_old_libs" = yes; then
  954. # Transform all the library objects into standard objects.
  955. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  956. finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  957.       fi
  958.       dlsyms=
  959.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  960. if test -n "$NM" && test -n "$global_symbol_pipe"; then
  961.   dlsyms="${outputname}S.c"
  962. else
  963.   $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
  964. fi
  965.       fi
  966.       if test -n "$dlsyms"; then
  967. case $dlsyms in
  968. "") ;;
  969. *.c)
  970.   # Discover the nlist of each of the dlfiles.
  971.   nlist="$output_objdir/${outputname}.nm"
  972.   $show "$rm $nlist ${nlist}S ${nlist}T"
  973.   $run $rm "$nlist" "${nlist}S" "${nlist}T"
  974.   # Parse the name list into a source file.
  975.   $show "creating $output_objdir/$dlsyms"
  976.   test -z "$run" && $echo > "$output_objdir/$dlsyms" "
  977. /* $dlsyms - symbol resolution table for `$outputname' dlsym emulation. */
  978. /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
  979. #ifdef __cplusplus
  980. extern "C" {
  981. #endif
  982. /* Prevent the only kind of declaration conflicts we can make. */
  983. #define lt_preloaded_symbols some_other_symbol
  984. /* External symbol declarations for the compiler. */
  985. "
  986.   if test "$dlself" = yes; then
  987.     $show "generating symbol list for `$output'"
  988.     test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
  989.     # Add our own program objects to the symbol list.
  990.     progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  991.     for arg in $progfiles; do
  992.       $show "extracting global C symbols from `$arg'"
  993.       $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  994.     done
  995.     if test -n "$exclude_expsyms"; then
  996.       $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
  997.       $run eval '$mv "$nlist"T "$nlist"'
  998.     fi
  999.     if test -n "$export_symbols_regex"; then
  1000.       $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
  1001.       $run eval '$mv "$nlist"T "$nlist"'
  1002.     fi
  1003.     # Prepare the list of exported symbols
  1004.     if test -z "$export_symbols"; then
  1005.       export_symbols="$output_objdir/$output.exp"
  1006.       $run $rm $export_symbols
  1007.       $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* (.*)$/1/p' "'< "$nlist" > "$export_symbols"'
  1008.     else
  1009.       $run eval "${SED} -e 's/([][.*^$])/\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
  1010.       $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
  1011.       $run eval 'mv "$nlist"T "$nlist"'
  1012.     fi
  1013.   fi
  1014.   for arg in $dlprefiles; do
  1015.     $show "extracting global C symbols from `$arg'"
  1016.     name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
  1017.     $run eval '$echo ": $name " >> "$nlist"'
  1018.     $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  1019.   done
  1020.   if test -z "$run"; then
  1021.     # Make sure we have at least an empty file.
  1022.     test -f "$nlist" || : > "$nlist"
  1023.     if test -n "$exclude_expsyms"; then
  1024.       $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
  1025.       $mv "$nlist"T "$nlist"
  1026.     fi
  1027.     # Try sorting and uniquifying the output.
  1028.     if grep -v "^: " < "$nlist" |
  1029. if sort -k 3 </dev/null >/dev/null 2>&1; then
  1030.   sort -k 3
  1031. else
  1032.   sort +2
  1033. fi |
  1034. uniq > "$nlist"S; then
  1035.       :
  1036.     else
  1037.       grep -v "^: " < "$nlist" > "$nlist"S
  1038.     fi
  1039.     if test -f "$nlist"S; then
  1040.       eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
  1041.     else
  1042.       $echo '/* NONE */' >> "$output_objdir/$dlsyms"
  1043.     fi
  1044.     $echo >> "$output_objdir/$dlsyms" "
  1045. #undef lt_preloaded_symbols
  1046. #if defined (__STDC__) && __STDC__
  1047. # define lt_ptr void *
  1048. #else
  1049. # define lt_ptr char *
  1050. # define const
  1051. #endif
  1052. /* The mapping between symbol names and symbols. */
  1053. const struct {
  1054.   const char *name;
  1055.   lt_ptr address;
  1056. }
  1057. lt_preloaded_symbols[] =
  1058. {
  1059. "
  1060.     eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
  1061.     $echo >> "$output_objdir/$dlsyms" "
  1062.   {0, (lt_ptr) 0}
  1063. };
  1064. /* This works around a problem in FreeBSD linker */
  1065. #ifdef FREEBSD_WORKAROUND
  1066. static const void *lt_preloaded_setup() {
  1067.   return lt_preloaded_symbols;
  1068. }
  1069. #endif
  1070. #ifdef __cplusplus
  1071. }
  1072. #endif
  1073. "
  1074.   fi
  1075.   pic_flag_for_symtable=
  1076.   case $host in
  1077.   # compiling the symbol table file with pic_flag works around
  1078.   # a FreeBSD bug that causes programs to crash when -lm is
  1079.   # linked before any other PIC object.  But we must not use
  1080.   # pic_flag when linking with -static.  The problem exists in
  1081.   # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
  1082.   *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
  1083.     case "$compile_command " in
  1084.     *" -static "*) ;;
  1085.     *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
  1086.     esac;;
  1087.   *-*-hpux*)
  1088.     case "$compile_command " in
  1089.     *" -static "*) ;;
  1090.     *) pic_flag_for_symtable=" $pic_flag";;
  1091.     esac
  1092.   esac
  1093.   # Now compile the dynamic symbol file.
  1094.   $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")"
  1095.   $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
  1096.   # Clean up the generated files.
  1097.   $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
  1098.   $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
  1099.   # Transform the symbol file into the correct name.
  1100.   compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  1101.   finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  1102.   ;;
  1103. *)
  1104.   $echo "$modename: unknown suffix for `$dlsyms'" 1>&2
  1105.   exit $EXIT_FAILURE
  1106.   ;;
  1107. esac
  1108.       else
  1109. # We keep going just in case the user didn't refer to
  1110. # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
  1111. # really was required.
  1112. # Nullify the symbol file.
  1113. compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
  1114. finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
  1115.       fi
  1116.       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
  1117. # Replace the output file specification.
  1118. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  1119. link_command="$compile_command$compile_rpath"
  1120. # We have no uninstalled library dependencies, so finalize right now.
  1121. $show "$link_command"
  1122. $run eval "$link_command"
  1123. status=$?
  1124. # Delete the generated files.
  1125. if test -n "$dlsyms"; then
  1126.   $show "$rm $output_objdir/${outputname}S.${objext}"
  1127.   $run $rm "$output_objdir/${outputname}S.${objext}"
  1128. fi
  1129. exit $status
  1130.       fi
  1131.       if test -n "$shlibpath_var"; then
  1132. # We should set the shlibpath_var
  1133. rpath=
  1134. for dir in $temp_rpath; do
  1135.   case $dir in
  1136.   [\/]* | [A-Za-z]:[\/]*)
  1137.     # Absolute path.
  1138.     rpath="$rpath$dir:"
  1139.     ;;
  1140.   *)
  1141.     # Relative path: add a thisdir entry.
  1142.     rpath="$rpath$thisdir/$dir:"
  1143.     ;;
  1144.   esac
  1145. done
  1146. temp_rpath="$rpath"
  1147.       fi
  1148.       if test -n "$compile_shlibpath$finalize_shlibpath"; then
  1149. compile_command="$shlibpath_var="$compile_shlibpath$finalize_shlibpath$$shlibpath_var" $compile_command"
  1150.       fi
  1151.       if test -n "$finalize_shlibpath"; then
  1152. finalize_command="$shlibpath_var="$finalize_shlibpath$$shlibpath_var" $finalize_command"
  1153.       fi
  1154.       compile_var=
  1155.       finalize_var=
  1156.       if test -n "$runpath_var"; then
  1157. if test -n "$perm_rpath"; then
  1158.   # We should set the runpath_var.
  1159.   rpath=
  1160.   for dir in $perm_rpath; do
  1161.     rpath="$rpath$dir:"
  1162.   done
  1163.   compile_var="$runpath_var="$rpath$$runpath_var" "
  1164. fi
  1165. if test -n "$finalize_perm_rpath"; then
  1166.   # We should set the runpath_var.
  1167.   rpath=
  1168.   for dir in $finalize_perm_rpath; do
  1169.     rpath="$rpath$dir:"
  1170.   done
  1171.   finalize_var="$runpath_var="$rpath$$runpath_var" "
  1172. fi
  1173.       fi
  1174.       if test "$no_install" = yes; then
  1175. # We don't need to create a wrapper script.
  1176. link_command="$compile_var$compile_command$compile_rpath"
  1177. # Replace the output file specification.
  1178. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  1179. # Delete the old output file.
  1180. $run $rm $output
  1181. # Link the executable and exit
  1182. $show "$link_command"
  1183. $run eval "$link_command" || exit $?
  1184. exit $EXIT_SUCCESS
  1185.       fi
  1186.       if test "$hardcode_action" = relink; then
  1187. # Fast installation is not supported
  1188. link_command="$compile_var$compile_command$compile_rpath"
  1189. relink_command="$finalize_var$finalize_command$finalize_rpath"
  1190. $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
  1191. $echo "$modename: `$output' will be relinked during installation" 1>&2
  1192.       else
  1193. if test "$fast_install" != no; then
  1194.   link_command="$finalize_var$compile_command$finalize_rpath"
  1195.   if test "$fast_install" = yes; then
  1196.     relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%$progdir/$file%g'`
  1197.   else
  1198.     # fast_install is set to needless
  1199.     relink_command=
  1200.   fi
  1201. else
  1202.   link_command="$compile_var$compile_command$compile_rpath"
  1203.   relink_command="$finalize_var$finalize_command$finalize_rpath"
  1204. fi
  1205.       fi
  1206.       # Replace the output file specification.
  1207.       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
  1208.       # Delete the old output files.
  1209.       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
  1210.       $show "$link_command"
  1211.       $run eval "$link_command" || exit $?
  1212.       # Now create the wrapper script.
  1213.       $show "creating $output"
  1214.       # Quote the relink command for shipping.
  1215.       if test -n "$relink_command"; then
  1216. # Preserve any variables that may affect compiler behavior
  1217. for var in $variables_saved_for_relink; do
  1218.   if eval test -z "${$var+set}"; then
  1219.     relink_command="{ test -z "${$var+set}" || unset $var || { $var=; export $var; }; }; $relink_command"
  1220.   elif eval var_value=$$var; test -z "$var_value"; then
  1221.     relink_command="$var=; export $var; $relink_command"
  1222.   else
  1223.     var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
  1224.     relink_command="$var="$var_value"; export $var; $relink_command"
  1225.   fi
  1226. done
  1227. relink_command="(cd `pwd`; $relink_command)"
  1228. relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
  1229.       fi
  1230.       # Quote $echo for shipping.
  1231.       if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
  1232. case $progpath in
  1233. [\/]* | [A-Za-z]:[\/]*) qecho="$SHELL $progpath --fallback-echo";;
  1234. *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
  1235. esac
  1236. qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
  1237.       else
  1238. qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
  1239.       fi
  1240.       # Only actually do things if our run command is non-null.
  1241.       if test -z "$run"; then
  1242. # win32 will think the script is a binary if it has
  1243. # a .exe suffix, so we strip it off here.
  1244. case $output in
  1245.   *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
  1246. esac
  1247. # test for cygwin because mv fails w/o .exe extensions
  1248. case $host in
  1249.   *cygwin*)
  1250.     exeext=.exe
  1251.     outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
  1252.   *) exeext= ;;
  1253. esac
  1254. case $host in
  1255.   *cygwin* | *mingw* )
  1256.     cwrappersource=`$echo ${objdir}/lt-${output}.c`
  1257.     cwrapper=`$echo ${output}.exe`
  1258.     $rm $cwrappersource $cwrapper
  1259.     trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
  1260.     cat > $cwrappersource <<EOF
  1261. /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
  1262.    Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  1263.    The $output program cannot be directly executed until all the libtool
  1264.    libraries that it depends on are installed.
  1265.    This wrapper executable should never be moved out of the build directory.
  1266.    If it is, it will not operate correctly.
  1267.    Currently, it simply execs the wrapper *script* "/bin/sh $output",
  1268.    but could eventually absorb all of the scripts functionality and
  1269.    exec $objdir/$outputname directly.
  1270. */
  1271. EOF
  1272.     cat >> $cwrappersource<<"EOF"
  1273. #include <stdio.h>
  1274. #include <stdlib.h>
  1275. #include <unistd.h>
  1276. #include <malloc.h>
  1277. #include <stdarg.h>
  1278. #include <assert.h>
  1279. #if defined(PATH_MAX)
  1280. # define LT_PATHMAX PATH_MAX
  1281. #elif defined(MAXPATHLEN)
  1282. # define LT_PATHMAX MAXPATHLEN
  1283. #else
  1284. # define LT_PATHMAX 1024
  1285. #endif
  1286. #ifndef DIR_SEPARATOR
  1287. #define DIR_SEPARATOR '/'
  1288. #endif
  1289. #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || 
  1290.   defined (__OS2__)
  1291. #define HAVE_DOS_BASED_FILE_SYSTEM
  1292. #ifndef DIR_SEPARATOR_2
  1293. #define DIR_SEPARATOR_2 '\'
  1294. #endif
  1295. #endif
  1296. #ifndef DIR_SEPARATOR_2
  1297. # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
  1298. #else /* DIR_SEPARATOR_2 */
  1299. # define IS_DIR_SEPARATOR(ch) 
  1300.         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
  1301. #endif /* DIR_SEPARATOR_2 */
  1302. #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
  1303. #define XFREE(stale) do { 
  1304.   if (stale) { free ((void *) stale); stale = 0; } 
  1305. } while (0)
  1306. const char *program_name = NULL;
  1307. void * xmalloc (size_t num);
  1308. char * xstrdup (const char *string);
  1309. char * basename (const char *name);
  1310. char * fnqualify(const char *path);
  1311. char * strendzap(char *str, const char *pat);
  1312. void lt_fatal (const char *message, ...);
  1313. int
  1314. main (int argc, char *argv[])
  1315. {
  1316.   char **newargz;
  1317.   int i;
  1318.   program_name = (char *) xstrdup ((char *) basename (argv[0]));
  1319.   newargz = XMALLOC(char *, argc+2);
  1320. EOF
  1321.     cat >> $cwrappersource <<EOF
  1322.   newargz[0] = "$SHELL";
  1323. EOF
  1324.     cat >> $cwrappersource <<"EOF"
  1325.   newargz[1] = fnqualify(argv[0]);
  1326.   /* we know the script has the same name, without the .exe */
  1327.   /* so make sure newargz[1] doesn't end in .exe */
  1328.   strendzap(newargz[1],".exe");
  1329.   for (i = 1; i < argc; i++)
  1330.     newargz[i+1] = xstrdup(argv[i]);
  1331.   newargz[argc+1] = NULL;
  1332. EOF
  1333.     cat >> $cwrappersource <<EOF
  1334.   execv("$SHELL",newargz);
  1335. EOF
  1336.     cat >> $cwrappersource <<"EOF"
  1337. }
  1338. void *
  1339. xmalloc (size_t num)
  1340. {
  1341.   void * p = (void *) malloc (num);
  1342.   if (!p)
  1343.     lt_fatal ("Memory exhausted");
  1344.   return p;
  1345. }
  1346. char *
  1347. xstrdup (const char *string)
  1348. {
  1349.   return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
  1350. ;
  1351. }
  1352. char *
  1353. basename (const char *name)
  1354. {
  1355.   const char *base;
  1356. #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  1357.   /* Skip over the disk name in MSDOS pathnames. */
  1358.   if (isalpha (name[0]) && name[1] == ':')
  1359.     name += 2;
  1360. #endif
  1361.   for (base = name; *name; name++)
  1362.     if (IS_DIR_SEPARATOR (*name))
  1363.       base = name + 1;
  1364.   return (char *) base;
  1365. }
  1366. char *
  1367. fnqualify(const char *path)
  1368. {
  1369.   size_t size;
  1370.   char *p;
  1371.   char tmp[LT_PATHMAX + 1];
  1372.   assert(path != NULL);
  1373.   /* Is it qualified already? */
  1374. #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  1375.   if (isalpha (path[0]) && path[1] == ':')
  1376.     return xstrdup (path);
  1377. #endif
  1378.   if (IS_DIR_SEPARATOR (path[0]))
  1379.     return xstrdup (path);
  1380.   /* prepend the current directory */
  1381.   /* doesn't handle '~' */
  1382.   if (getcwd (tmp, LT_PATHMAX) == NULL)
  1383.     lt_fatal ("getcwd failed");
  1384.   size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '' */
  1385.   p = XMALLOC(char, size);
  1386.   sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
  1387.   return p;
  1388. }
  1389. char *
  1390. strendzap(char *str, const char *pat)
  1391. {
  1392.   size_t len, patlen;
  1393.   assert(str != NULL);
  1394.   assert(pat != NULL);
  1395.   len = strlen(str);
  1396.   patlen = strlen(pat);
  1397.   if (patlen <= len)
  1398.   {
  1399.     str += len - patlen;
  1400.     if (strcmp(str, pat) == 0)
  1401.       *str = '';
  1402.   }
  1403.   return str;
  1404. }
  1405. static void
  1406. lt_error_core (int exit_status, const char * mode,
  1407.           const char * message, va_list ap)
  1408. {
  1409.   fprintf (stderr, "%s: %s: ", program_name, mode);
  1410.   vfprintf (stderr, message, ap);
  1411.   fprintf (stderr, ".n");
  1412.   if (exit_status >= 0)
  1413.     exit (exit_status);
  1414. }
  1415. void
  1416. lt_fatal (const char *message, ...)
  1417. {
  1418.   va_list ap;
  1419.   va_start (ap, message);
  1420.   lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
  1421.   va_end (ap);
  1422. }
  1423. EOF
  1424.   # we should really use a build-platform specific compiler
  1425.   # here, but OTOH, the wrappers (shell script and this C one)
  1426.   # are only useful if you want to execute the "real" binary.
  1427.   # Since the "real" binary is built for $host, then this
  1428.   # wrapper might as well be built for $host, too.
  1429.   $run $LTCC -s -o $cwrapper $cwrappersource
  1430.   ;;
  1431. esac
  1432. $rm $output
  1433. trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
  1434. $echo > $output "
  1435. #! $SHELL
  1436. # $output - temporary wrapper script for $objdir/$outputname
  1437. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  1438. #
  1439. # The $output program cannot be directly executed until all the libtool
  1440. # libraries that it depends on are installed.
  1441. #
  1442. # This wrapper script should never be moved out of the build directory.
  1443. # If it is, it will not operate correctly.
  1444. # Sed substitution that helps us do robust quoting.  It backslashifies
  1445. # metacharacters that are still active within double-quoted strings.
  1446. Xsed='${SED} -e 1s/^X//'
  1447. sed_quote_subst='$sed_quote_subst'
  1448. # The HP-UX ksh and POSIX shell print the target directory to stdout
  1449. # if CDPATH is set.
  1450. if test "${CDPATH+set}" = set; then CDPATH=:; export CDPATH; fi
  1451. relink_command="$relink_command"
  1452. # This environment variable determines our operation mode.
  1453. if test "$libtool_install_magic" = "$magic"; then
  1454.   # install mode needs the following variable:
  1455.   notinst_deplibs='$notinst_deplibs'
  1456. else
  1457.   # When we are sourced in execute mode, $file and $echo are already set.
  1458.   if test "$libtool_execute_magic" != "$magic"; then
  1459.     echo="$qecho"
  1460.     file="$0"
  1461.     # Make sure echo works.
  1462.     if test "X$1" = X--no-reexec; then
  1463.       # Discard the --no-reexec flag, and continue.
  1464.       shift
  1465.     elif test "X`($echo 't') 2>/dev/null`" = 'Xt'; then
  1466.       # Yippee, $echo works!
  1467.       :
  1468.     else
  1469.       # Restart under the correct shell, and then maybe $echo will work.
  1470.       exec $SHELL "$0" --no-reexec ${1+"$@"}
  1471.     fi
  1472.   fi
  1473. "
  1474. $echo >> $output "
  1475.   # Find the directory that this script lives in.
  1476.   thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  1477.   test "x$thisdir" = "x$file" && thisdir=.
  1478.   # Follow symbolic links until we get to the real thisdir.
  1479.   file=`ls -ld "$file" | ${SED} -n 's/.*-> //p'`
  1480.   while test -n "$file"; do
  1481.     destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  1482.     # If there was a directory component, then change thisdir.
  1483.     if test "x$destdir" != "x$file"; then
  1484.       case "$destdir" in
  1485.       [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
  1486.       *) thisdir="$thisdir/$destdir" ;;
  1487.       esac
  1488.     fi
  1489.     file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  1490.     file=`ls -ld "$thisdir/$file" | ${SED} -n 's/.*-> //p'`
  1491.   done
  1492.   # Try to get the absolute directory name.
  1493.   absdir=`cd "$thisdir" && pwd`
  1494.   test -n "$absdir" && thisdir="$absdir"
  1495. "
  1496. if test "$fast_install" = yes; then
  1497.   $echo >> $output "
  1498.   program=lt-'$outputname'$exeext
  1499.   progdir="$thisdir/$objdir"
  1500.   if test ! -f "$progdir/$program" || \
  1501.      { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | ${SED} 1q`; \
  1502.        test "X$file" != "X$progdir/$program"; }; then
  1503.     file="$$-$program"
  1504.     if test ! -d "$progdir"; then
  1505.       $mkdir "$progdir"
  1506.     else
  1507.       $rm "$progdir/$file"
  1508.     fi"
  1509.   $echo >> $output "
  1510.     # relink executable if necessary
  1511.     if test -n "$relink_command"; then
  1512.       if relink_command_output=`eval $relink_command 2>&1`; then :
  1513.       else
  1514. $echo "$relink_command_output" >&2
  1515. $rm "$progdir/$file"
  1516. exit $EXIT_FAILURE
  1517.       fi
  1518.     fi
  1519.     $mv "$progdir/$file" "$progdir/$program" 2>/dev/null ||
  1520.     { $rm "$progdir/$program";
  1521.       $mv "$progdir/$file" "$progdir/$program"; }
  1522.     $rm "$progdir/$file"
  1523.   fi"
  1524. else
  1525.   $echo >> $output "
  1526.   program='$outputname'
  1527.   progdir="$thisdir/$objdir"
  1528. "
  1529. fi
  1530. $echo >> $output "
  1531.   if test -f "$progdir/$program"; then"
  1532. # Export our shlibpath_var if we have one.
  1533. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
  1534.   $echo >> $output "
  1535.     # Add our own library path to $shlibpath_var
  1536.     $shlibpath_var="$temp_rpath$$shlibpath_var"
  1537.     # Some systems cannot cope with colon-terminated $shlibpath_var
  1538.     # The second colon is a workaround for a bug in BeOS R4 sed
  1539.     $shlibpath_var=`$echo "X$$shlibpath_var" | $Xsed -e 's/::*$//'`
  1540.     export $shlibpath_var
  1541. "
  1542. fi
  1543. # fixup the dll searchpath if we need to.
  1544. if test -n "$dllsearchpath"; then
  1545.   $echo >> $output "
  1546.     # Add the dll search path components to the executable PATH
  1547.     PATH=$dllsearchpath:$PATH
  1548. "
  1549. fi
  1550. $echo >> $output "
  1551.     if test "$libtool_execute_magic" != "$magic"; then
  1552.       # Run the actual program with our arguments.
  1553. "
  1554. case $host in
  1555. # Backslashes separate directories on plain windows
  1556. *-*-mingw | *-*-os2*)
  1557.   $echo >> $output "
  1558.       exec $progdir\\$program ${1+"$@"}
  1559. "
  1560.   ;;
  1561. *)
  1562.   $echo >> $output "
  1563.       exec $progdir/$program ${1+"$@"}
  1564. "
  1565.   ;;
  1566. esac
  1567. $echo >> $output "
  1568.       $echo "$0: cannot exec $program ${1+"$@"}"
  1569.       exit $EXIT_FAILURE
  1570.     fi
  1571.   else
  1572.     # The program doesn't exist.
  1573.     $echo "$0: error: $progdir/$program does not exist" 1>&2
  1574.     $echo "This script is just a wrapper for $program." 1>&2
  1575.     $echo "See the $PACKAGE documentation for more information." 1>&2
  1576.     exit $EXIT_FAILURE
  1577.   fi
  1578. fi
  1579. "
  1580. chmod +x $output
  1581.       fi
  1582.       exit $EXIT_SUCCESS
  1583.       ;;
  1584.     esac
  1585.     # See if we need to build an old-fashioned archive.
  1586.     for oldlib in $oldlibs; do
  1587.       if test "$build_libtool_libs" = convenience; then
  1588. oldobjs="$libobjs_save"
  1589. addlibs="$convenience"
  1590. build_libtool_libs=no
  1591.       else
  1592. if test "$build_libtool_libs" = module; then
  1593.   oldobjs="$libobjs_save"
  1594.   build_libtool_libs=no
  1595. else
  1596.   oldobjs="$old_deplibs $non_pic_objects"
  1597. fi
  1598. addlibs="$old_convenience"
  1599.       fi
  1600.       if test -n "$addlibs"; then
  1601. gentop="$output_objdir/${outputname}x"
  1602. $show "${rm}r $gentop"
  1603. $run ${rm}r "$gentop"
  1604. $show "$mkdir $gentop"
  1605. $run $mkdir "$gentop"
  1606. status=$?
  1607. if test "$status" -ne 0 && test ! -d "$gentop"; then
  1608.   exit $status
  1609. fi
  1610. generated="$generated $gentop"
  1611. # Add in members from convenience archives.
  1612. for xlib in $addlibs; do
  1613.   # Extract the objects.
  1614.   case $xlib in
  1615.   [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  1616.   *) xabs=`pwd`"/$xlib" ;;
  1617.   esac
  1618.   xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  1619.   xdir="$gentop/$xlib"
  1620.   $show "${rm}r $xdir"
  1621.   $run ${rm}r "$xdir"
  1622.   $show "$mkdir $xdir"
  1623.   $run $mkdir "$xdir"
  1624.   status=$?
  1625.   if test "$status" -ne 0 && test ! -d "$xdir"; then
  1626.     exit $status
  1627.   fi
  1628.   # We will extract separately just the conflicting names and we will no
  1629.   # longer touch any unique names. It is faster to leave these extract
  1630.   # automatically by $AR in one run.
  1631.   $show "(cd $xdir && $AR x $xabs)"
  1632.   $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  1633.   if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
  1634.     :
  1635.   else
  1636.     $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
  1637.     $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
  1638.     $AR t "$xabs" | sort | uniq -cd | while read -r count name
  1639.     do
  1640.       i=1
  1641.       while test "$i" -le "$count"
  1642.       do
  1643.        # Put our $i before any first dot (extension)
  1644.        # Never overwrite any file
  1645.        name_to="$name"
  1646.        while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
  1647.        do
  1648.  name_to=`$echo "X$name_to" | $Xsed -e "s/([^.]*)/1-$i/"`
  1649.        done
  1650.        $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
  1651.        $run eval "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" || exit $?
  1652.        i=`expr $i + 1`
  1653.       done
  1654.     done
  1655.   fi
  1656.   oldobjs="$oldobjs "`find $xdir -name *.${objext} -print -o -name *.lo -print | $NL2SP`
  1657. done
  1658.       fi
  1659.       # Do each command in the archive commands.
  1660.       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
  1661.        cmds=$old_archive_from_new_cmds
  1662.       else
  1663. eval cmds="$old_archive_cmds"
  1664. if len=`expr "X$cmds" : ".*"` &&
  1665.      test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
  1666.   cmds=$old_archive_cmds
  1667. else
  1668.   # the command line is too long to link in one step, link in parts
  1669.   $echo "using piecewise archive linking..."
  1670.   save_RANLIB=$RANLIB
  1671.   RANLIB=:
  1672.   objlist=
  1673.   concat_cmds=
  1674.   save_oldobjs=$oldobjs
  1675.   # GNU ar 2.10+ was changed to match POSIX; thus no paths are
  1676.   # encoded into archives.  This makes 'ar r' malfunction in
  1677.   # this piecewise linking case whenever conflicting object
  1678.   # names appear in distinct ar calls; check, warn and compensate.
  1679.     if (for obj in $save_oldobjs
  1680.     do
  1681.       $echo "X$obj" | $Xsed -e 's%^.*/%%'
  1682.     done | sort | sort -uc >/dev/null 2>&1); then
  1683.     :
  1684.   else
  1685.     $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2
  1686.     $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2
  1687.     AR_FLAGS=cq
  1688.   fi
  1689.   # Is there a better way of finding the last object in the list?
  1690.   for obj in $save_oldobjs
  1691.   do
  1692.     last_oldobj=$obj
  1693.   done
  1694.   for obj in $save_oldobjs
  1695.   do
  1696.     oldobjs="$objlist $obj"
  1697.     objlist="$objlist $obj"
  1698.     eval test_cmds="$old_archive_cmds"
  1699.     if len=`expr "X$test_cmds" : ".*"` &&
  1700.        test "$len" -le "$max_cmd_len"; then
  1701.       :
  1702.     else
  1703.       # the above command should be used before it gets too long
  1704.       oldobjs=$objlist
  1705.       if test "$obj" = "$last_oldobj" ; then
  1706.         RANLIB=$save_RANLIB
  1707.       fi
  1708.       test -z "$concat_cmds" || concat_cmds=$concat_cmds~
  1709.       eval concat_cmds="${concat_cmds}$old_archive_cmds"
  1710.       objlist=
  1711.     fi
  1712.   done
  1713.   RANLIB=$save_RANLIB
  1714.   oldobjs=$objlist
  1715.   if test "X$oldobjs" = "X" ; then
  1716.     eval cmds="$concat_cmds"
  1717.   else
  1718.     eval cmds="$concat_cmds~$old_archive_cmds"
  1719.   fi
  1720. fi
  1721.       fi
  1722.       save_ifs="$IFS"; IFS='~'
  1723.       for cmd in $cmds; do
  1724.         eval cmd="$cmd"
  1725. IFS="$save_ifs"
  1726. $show "$cmd"
  1727. $run eval "$cmd" || exit $?
  1728.       done
  1729.       IFS="$save_ifs"
  1730.     done
  1731.     if test -n "$generated"; then
  1732.       $show "${rm}r$generated"
  1733.       $run ${rm}r$generated
  1734.     fi
  1735.     # Now create the libtool archive.
  1736.     case $output in
  1737.     *.la)
  1738.       old_library=
  1739.       test "$build_old_libs" = yes && old_library="$libname.$libext"
  1740.       $show "creating $output"
  1741.       # Preserve any variables that may affect compiler behavior
  1742.       for var in $variables_saved_for_relink; do
  1743. if eval test -z "${$var+set}"; then
  1744.   relink_command="{ test -z "${$var+set}" || unset $var || { $var=; export $var; }; }; $relink_command"
  1745. elif eval var_value=$$var; test -z "$var_value"; then
  1746.   relink_command="$var=; export $var; $relink_command"
  1747. else
  1748.   var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
  1749.   relink_command="$var="$var_value"; export $var; $relink_command"
  1750. fi
  1751.       done
  1752.       # Quote the link command for shipping.
  1753.       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
  1754.       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
  1755.       if test "$hardcode_automatic" = yes ; then
  1756. relink_command=
  1757.       fi
  1758.       # Only create the output if not a dry run.
  1759.       if test -z "$run"; then
  1760. for installed in no yes; do
  1761.   if test "$installed" = yes; then
  1762.     if test -z "$install_libdir"; then
  1763.       break
  1764.     fi
  1765.     output="$output_objdir/$outputname"i
  1766.     # Replace all uninstalled libtool libraries with the installed ones
  1767.     newdependency_libs=
  1768.     for deplib in $dependency_libs; do
  1769.       case $deplib in
  1770.       *.la)
  1771. name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
  1772. eval libdir=`${SED} -n -e 's/^libdir=(.*)$/1/p' $deplib`
  1773. if test -z "$libdir"; then
  1774.   $echo "$modename: `$deplib' is not a valid libtool archive" 1>&2
  1775.   exit $EXIT_FAILURE
  1776. fi
  1777. newdependency_libs="$newdependency_libs $libdir/$name"
  1778. ;;
  1779.       *) newdependency_libs="$newdependency_libs $deplib" ;;
  1780.       esac
  1781.     done
  1782.     dependency_libs="$newdependency_libs"
  1783.     newdlfiles=
  1784.     for lib in $dlfiles; do
  1785.       name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  1786.       eval libdir=`${SED} -n -e 's/^libdir=(.*)$/1/p' $lib`
  1787.       if test -z "$libdir"; then
  1788. $echo "$modename: `$lib' is not a valid libtool archive" 1>&2
  1789. exit $EXIT_FAILURE
  1790.       fi
  1791.       newdlfiles="$newdlfiles $libdir/$name"
  1792.     done
  1793.     dlfiles="$newdlfiles"
  1794.     newdlprefiles=
  1795.     for lib in $dlprefiles; do
  1796.       name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  1797.       eval libdir=`${SED} -n -e 's/^libdir=(.*)$/1/p' $lib`
  1798.       if test -z "$libdir"; then
  1799. $echo "$modename: `$lib' is not a valid libtool archive" 1>&2
  1800. exit $EXIT_FAILURE
  1801.       fi
  1802.       newdlprefiles="$newdlprefiles $libdir/$name"
  1803.     done
  1804.     dlprefiles="$newdlprefiles"
  1805.   else
  1806.     newdlfiles=
  1807.     for lib in $dlfiles; do
  1808.       case $lib in
  1809. [\/]* | [A-Za-z]:[\/]*) abs="$lib" ;;
  1810. *) abs=`pwd`"/$lib" ;;
  1811.       esac
  1812.       newdlfiles="$newdlfiles $abs"
  1813.     done
  1814.     dlfiles="$newdlfiles"
  1815.     newdlprefiles=
  1816.     for lib in $dlprefiles; do
  1817.       case $lib in
  1818. [\/]* | [A-Za-z]:[\/]*) abs="$lib" ;;
  1819. *) abs=`pwd`"/$lib" ;;
  1820.       esac
  1821.       newdlprefiles="$newdlprefiles $abs"
  1822.     done
  1823.     dlprefiles="$newdlprefiles"
  1824.   fi
  1825.   $rm $output
  1826.   # place dlname in correct position for cygwin
  1827.   tdlname=$dlname
  1828.   case $host,$output,$installed,$module,$dlname in
  1829.     *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
  1830.   esac
  1831.   $echo > $output "
  1832. # $outputname - a libtool library file
  1833. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  1834. #
  1835. # Please DO NOT delete this file!
  1836. # It is necessary for linking the library.
  1837. # The name that we can dlopen(3).
  1838. dlname='$tdlname'
  1839. # Names of this library.
  1840. library_names='$library_names'
  1841. # The name of the static archive.
  1842. old_library='$old_library'
  1843. # Libraries that this one depends upon.
  1844. dependency_libs='$dependency_libs'
  1845. # Version information for $libname.
  1846. current=$current
  1847. age=$age
  1848. revision=$revision
  1849. # Is this an already installed library?
  1850. installed=$installed
  1851. # Should we warn about portability when linking against -modules?
  1852. shouldnotlink=$module
  1853. # Files to dlopen/dlpreopen
  1854. dlopen='$dlfiles'
  1855. dlpreopen='$dlprefiles'
  1856. # Directory that this library needs to be installed in:
  1857. libdir='$install_libdir'"
  1858.   if test "$installed" = no && test "$need_relink" = yes; then
  1859.     $echo >> $output "
  1860. relink_command="$relink_command""
  1861.   fi
  1862. done
  1863.       fi
  1864.       # Do a symbolic link so that the libtool archive can be found in
  1865.       # LD_LIBRARY_PATH before the program is installed.
  1866.       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
  1867.       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
  1868.       ;;
  1869.     esac
  1870.     exit $EXIT_SUCCESS
  1871.     ;;
  1872.   # libtool install mode
  1873.   install)
  1874.     modename="$modename: install"
  1875.     # There may be an optional sh(1) argument at the beginning of
  1876.     # install_prog (especially on Windows NT).
  1877.     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
  1878.        # Allow the use of GNU shtool's install command.
  1879.        $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
  1880.       # Aesthetically quote it.
  1881.       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
  1882.       case $arg in
  1883.       *[[~#^&*(){}|;<>?'  ]*|*]*)
  1884. arg=""$arg""
  1885. ;;
  1886.       esac
  1887.       install_prog="$arg "
  1888.       arg="$1"
  1889.       shift
  1890.     else
  1891.       install_prog=
  1892.       arg="$nonopt"
  1893.     fi
  1894.     # The real first argument should be the name of the installation program.
  1895.     # Aesthetically quote it.
  1896.     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1897.     case $arg in
  1898.     *[[~#^&*(){}|;<>?'  ]*|*]*)
  1899.       arg=""$arg""
  1900.       ;;
  1901.     esac
  1902.     install_prog="$install_prog$arg"
  1903.     # We need to accept at least all the BSD install flags.
  1904.     dest=
  1905.     files=
  1906.     opts=
  1907.     prev=
  1908.     install_type=
  1909.     isdir=no
  1910.     stripme=
  1911.     for arg
  1912.     do
  1913.       if test -n "$dest"; then
  1914. files="$files $dest"
  1915. dest="$arg"
  1916. continue
  1917.       fi
  1918.       case $arg in
  1919.       -d) isdir=yes ;;
  1920.       -f) prev="-f" ;;
  1921.       -g) prev="-g" ;;
  1922.       -m) prev="-m" ;;
  1923.       -o) prev="-o" ;;
  1924.       -s)
  1925. stripme=" -s"
  1926. continue
  1927. ;;
  1928.       -*) ;;
  1929.       *)
  1930. # If the previous option needed an argument, then skip it.
  1931. if test -n "$prev"; then
  1932.   prev=
  1933. else
  1934.   dest="$arg"
  1935.   continue
  1936. fi
  1937. ;;
  1938.       esac
  1939.       # Aesthetically quote the argument.
  1940.       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1941.       case $arg in
  1942.       *[[~#^&*(){}|;<>?'  ]*|*]*)
  1943. arg=""$arg""
  1944. ;;
  1945.       esac
  1946.       install_prog="$install_prog $arg"
  1947.     done
  1948.     if test -z "$install_prog"; then
  1949.       $echo "$modename: you must specify an install program" 1>&2
  1950.       $echo "$help" 1>&2
  1951.       exit $EXIT_FAILURE
  1952.     fi
  1953.     if test -n "$prev"; then
  1954.       $echo "$modename: the `$prev' option requires an argument" 1>&2
  1955.       $echo "$help" 1>&2
  1956.       exit $EXIT_FAILURE
  1957.     fi
  1958.     if test -z "$files"; then
  1959.       if test -z "$dest"; then
  1960. $echo "$modename: no file or destination specified" 1>&2
  1961.       else
  1962. $echo "$modename: you must specify a destination" 1>&2
  1963.       fi
  1964.       $echo "$help" 1>&2
  1965.       exit $EXIT_FAILURE
  1966.     fi
  1967.     # Strip any trailing slash from the destination.
  1968.     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
  1969.     # Check to see that the destination is a directory.
  1970.     test -d "$dest" && isdir=yes
  1971.     if test "$isdir" = yes; then
  1972.       destdir="$dest"
  1973.       destname=
  1974.     else
  1975.       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
  1976.       test "X$destdir" = "X$dest" && destdir=.
  1977.       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
  1978.       # Not a directory, so check to see that there is only one file specified.
  1979.       set dummy $files
  1980.       if test "$#" -gt 2; then
  1981. $echo "$modename: `$dest' is not a directory" 1>&2
  1982. $echo "$help" 1>&2
  1983. exit $EXIT_FAILURE
  1984.       fi
  1985.     fi
  1986.     case $destdir in
  1987.     [\/]* | [A-Za-z]:[\/]*) ;;
  1988.     *)
  1989.       for file in $files; do
  1990. case $file in
  1991. *.lo) ;;
  1992. *)
  1993.   $echo "$modename: `$destdir' must be an absolute directory name" 1>&2
  1994.   $echo "$help" 1>&2
  1995.   exit $EXIT_FAILURE
  1996.   ;;
  1997. esac
  1998.       done
  1999.       ;;
  2000.     esac
  2001.     # This variable tells wrapper scripts just to set variables rather
  2002.     # than running their programs.
  2003.     libtool_install_magic="$magic"
  2004.     staticlibs=
  2005.     future_libdirs=
  2006.     current_libdirs=
  2007.     for file in $files; do
  2008.       # Do each installation.
  2009.       case $file in
  2010.       *.$libext)
  2011. # Do the static libraries later.
  2012. staticlibs="$staticlibs $file"
  2013. ;;
  2014.       *.la)
  2015. # Check to see that this really is a libtool archive.
  2016. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  2017. else
  2018.   $echo "$modename: `$file' is not a valid libtool archive" 1>&2
  2019.   $echo "$help" 1>&2
  2020.   exit $EXIT_FAILURE
  2021. fi
  2022. library_names=
  2023. old_library=
  2024. relink_command=
  2025. # If there is no directory component, then add one.
  2026. case $file in
  2027. */* | *\*) . $file ;;
  2028. *) . ./$file ;;
  2029. esac
  2030. # Add the libdir to current_libdirs if it is the destination.
  2031. if test "X$destdir" = "X$libdir"; then
  2032.   case "$current_libdirs " in
  2033.   *" $libdir "*) ;;
  2034.   *) current_libdirs="$current_libdirs $libdir" ;;
  2035.   esac
  2036. else
  2037.   # Note the libdir as a future libdir.
  2038.   case "$future_libdirs " in
  2039.   *" $libdir "*) ;;
  2040.   *) future_libdirs="$future_libdirs $libdir" ;;
  2041.   esac
  2042. fi
  2043. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
  2044. test "X$dir" = "X$file/" && dir=
  2045. dir="$dir$objdir"
  2046. if test -n "$relink_command"; then
  2047.   # Determine the prefix the user has applied to our future dir.
  2048.   inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir$%%"`
  2049.   # Don't allow the user to place us outside of our expected
  2050.   # location b/c this prevents finding dependent libraries that
  2051.   # are installed to the same prefix.
  2052.   # At present, this check doesn't affect windows .dll's that
  2053.   # are installed into $libdir/../bin (currently, that works fine)
  2054.   # but it's something to keep an eye on.
  2055.   if test "$inst_prefix_dir" = "$destdir"; then
  2056.     $echo "$modename: error: cannot install `$file' to a directory not ending in $libdir" 1>&2
  2057.     exit $EXIT_FAILURE
  2058.   fi
  2059.   if test -n "$inst_prefix_dir"; then
  2060.     # Stick the inst_prefix_dir data into the link command.
  2061.     relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
  2062.   else
  2063.     relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
  2064.   fi
  2065.   $echo "$modename: warning: relinking `$file'" 1>&2
  2066.   $show "$relink_command"
  2067.   if $run eval "$relink_command"; then :
  2068.   else
  2069.     $echo "$modename: error: relink `$file' with the above command before installing it" 1>&2
  2070.     exit $EXIT_FAILURE
  2071.   fi
  2072. fi
  2073. # See the names of the shared library.
  2074. set dummy $library_names
  2075. if test -n "$2"; then
  2076.   realname="$2"
  2077.   shift
  2078.   shift
  2079.   srcname="$realname"
  2080.   test -n "$relink_command" && srcname="$realname"T
  2081.   # Install the shared library and build the symlinks.
  2082.   $show "$install_prog $dir/$srcname $destdir/$realname"
  2083.   $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
  2084.   if test -n "$stripme" && test -n "$striplib"; then
  2085.     $show "$striplib $destdir/$realname"
  2086.     $run eval "$striplib $destdir/$realname" || exit $?
  2087.   fi
  2088.   if test "$#" -gt 0; then
  2089.     # Delete the old symlinks, and create new ones.
  2090.     for linkname
  2091.     do
  2092.       if test "$linkname" != "$realname"; then
  2093. $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  2094. $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  2095.       fi
  2096.     done
  2097.   fi
  2098.   # Do each command in the postinstall commands.
  2099.   lib="$destdir/$realname"
  2100.   cmds=$postinstall_cmds
  2101.   save_ifs="$IFS"; IFS='~'
  2102.   for cmd in $cmds; do
  2103.     IFS="$save_ifs"
  2104.     eval cmd="$cmd"
  2105.     $show "$cmd"
  2106.     $run eval "$cmd" || exit $?
  2107.   done
  2108.   IFS="$save_ifs"
  2109. fi
  2110. # Install the pseudo-library for information purposes.
  2111. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2112. instname="$dir/$name"i
  2113. $show "$install_prog $instname $destdir/$name"
  2114. $run eval "$install_prog $instname $destdir/$name" || exit $?
  2115. # Maybe install the static library, too.
  2116. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
  2117. ;;
  2118.       *.lo)
  2119. # Install (i.e. copy) a libtool object.
  2120. # Figure out destination file name, if it wasn't already specified.
  2121. if test -n "$destname"; then
  2122.   destfile="$destdir/$destname"
  2123. else
  2124.   destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2125.   destfile="$destdir/$destfile"
  2126. fi
  2127. # Deduce the name of the destination old-style object file.
  2128. case $destfile in
  2129. *.lo)
  2130.   staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
  2131.   ;;
  2132. *.$objext)
  2133.   staticdest="$destfile"
  2134.   destfile=
  2135.   ;;
  2136. *)
  2137.   $echo "$modename: cannot copy a libtool object to `$destfile'" 1>&2
  2138.   $echo "$help" 1>&2
  2139.   exit $EXIT_FAILURE
  2140.   ;;
  2141. esac
  2142. # Install the libtool object if requested.
  2143. if test -n "$destfile"; then
  2144.   $show "$install_prog $file $destfile"
  2145.   $run eval "$install_prog $file $destfile" || exit $?
  2146. fi
  2147. # Install the old object if enabled.
  2148. if test "$build_old_libs" = yes; then
  2149.   # Deduce the name of the old-style object file.
  2150.   staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
  2151.   $show "$install_prog $staticobj $staticdest"
  2152.   $run eval "$install_prog $staticobj $staticdest" || exit $?
  2153. fi
  2154. exit $EXIT_SUCCESS
  2155. ;;
  2156.       *)
  2157. # Figure out destination file name, if it wasn't already specified.
  2158. if test -n "$destname"; then
  2159.   destfile="$destdir/$destname"
  2160. else
  2161.   destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2162.   destfile="$destdir/$destfile"
  2163. fi
  2164. # If the file is missing, and there is a .exe on the end, strip it
  2165. # because it is most likely a libtool script we actually want to
  2166. # install
  2167. stripped_ext=""
  2168. case $file in
  2169.   *.exe)
  2170.     if test ! -f "$file"; then
  2171.       file=`$echo $file|${SED} 's,.exe$,,'`
  2172.       stripped_ext=".exe"
  2173.     fi
  2174.     ;;
  2175. esac
  2176. # Do a test to see if this is really a libtool program.
  2177. case $host in
  2178. *cygwin*|*mingw*)
  2179.     wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
  2180.     ;;
  2181. *)
  2182.     wrapper=$file
  2183.     ;;
  2184. esac
  2185. if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
  2186.   notinst_deplibs=
  2187.   relink_command=
  2188.   # To insure that "foo" is sourced, and not "foo.exe",
  2189.   # finese the cygwin/MSYS system by explicitly sourcing "foo."
  2190.   # which disallows the automatic-append-.exe behavior.
  2191.   case $build in
  2192.   *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
  2193.   *) wrapperdot=${wrapper} ;;
  2194.   esac
  2195.   # If there is no directory component, then add one.
  2196.   case $file in
  2197.   */* | *\*) . ${wrapperdot} ;;
  2198.   *) . ./${wrapperdot} ;;
  2199.   esac
  2200.   # Check the variables that should have been set.
  2201.   if test -z "$notinst_deplibs"; then
  2202.     $echo "$modename: invalid libtool wrapper script `$wrapper'" 1>&2
  2203.     exit $EXIT_FAILURE
  2204.   fi
  2205.   finalize=yes
  2206.   for lib in $notinst_deplibs; do
  2207.     # Check to see that each library is installed.
  2208.     libdir=
  2209.     if test -f "$lib"; then
  2210.       # If there is no directory component, then add one.
  2211.       case $lib in
  2212.       */* | *\*) . $lib ;;
  2213.       *) . ./$lib ;;
  2214.       esac
  2215.     fi
  2216.     libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
  2217.     if test -n "$libdir" && test ! -f "$libfile"; then
  2218.       $echo "$modename: warning: `$lib' has not been installed in `$libdir'" 1>&2
  2219.       finalize=no
  2220.     fi
  2221.   done
  2222.   relink_command=
  2223.   # To insure that "foo" is sourced, and not "foo.exe",
  2224.   # finese the cygwin/MSYS system by explicitly sourcing "foo."
  2225.   # which disallows the automatic-append-.exe behavior.
  2226.   case $build in
  2227.   *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
  2228.   *) wrapperdot=${wrapper} ;;
  2229.   esac
  2230.   # If there is no directory component, then add one.
  2231.   case $file in
  2232.   */* | *\*) . ${wrapperdot} ;;
  2233.   *) . ./${wrapperdot} ;;
  2234.   esac
  2235.   outputname=
  2236.   if test "$fast_install" = no && test -n "$relink_command"; then
  2237.     if test "$finalize" = yes && test -z "$run"; then
  2238.       tmpdir="/tmp"
  2239.       test -n "$TMPDIR" && tmpdir="$TMPDIR"
  2240.       tmpdir="$tmpdir/libtool-$$"
  2241.       save_umask=`umask`
  2242.       umask 0077
  2243.       if $mkdir "$tmpdir"; then
  2244.         umask $save_umask
  2245.       else
  2246.         umask $save_umask
  2247. $echo "$modename: error: cannot create temporary directory `$tmpdir'" 1>&2
  2248. continue
  2249.       fi
  2250.       file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
  2251.       outputname="$tmpdir/$file"
  2252.       # Replace the output file specification.
  2253.       relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
  2254.       $show "$relink_command"
  2255.       if $run eval "$relink_command"; then :
  2256.       else
  2257. $echo "$modename: error: relink `$file' with the above command before installing it" 1>&2
  2258. ${rm}r "$tmpdir"
  2259. continue
  2260.       fi
  2261.       file="$outputname"
  2262.     else
  2263.       $echo "$modename: warning: cannot relink `$file'" 1>&2
  2264.     fi
  2265.   else
  2266.     # Install the binary that we compiled earlier.
  2267.     file=`$echo "X$file$stripped_ext" | $Xsed -e "s%([^/]*)$%$objdir/1%"`
  2268.   fi
  2269. fi
  2270. # remove .exe since cygwin /usr/bin/install will append another
  2271. # one anyways
  2272. case $install_prog,$host in
  2273. */usr/bin/install*,*cygwin*)
  2274.   case $file:$destfile in
  2275.   *.exe:*.exe)
  2276.     # this is ok
  2277.     ;;
  2278.   *.exe:*)
  2279.     destfile=$destfile.exe
  2280.     ;;
  2281.   *:*.exe)
  2282.     destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
  2283.     ;;
  2284.   esac
  2285.   ;;
  2286. esac
  2287. $show "$install_prog$stripme $file $destfile"
  2288. $run eval "$install_prog$stripme $file $destfile" || exit $?
  2289. test -n "$outputname" && ${rm}r "$tmpdir"
  2290. ;;
  2291.       esac
  2292.     done
  2293.     for file in $staticlibs; do
  2294.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2295.       # Set up the ranlib parameters.
  2296.       oldlib="$destdir/$name"
  2297.       $show "$install_prog $file $oldlib"
  2298.       $run eval "$install_prog $file $oldlib" || exit $?
  2299.       if test -n "$stripme" && test -n "$old_striplib"; then
  2300. $show "$old_striplib $oldlib"
  2301. $run eval "$old_striplib $oldlib" || exit $?
  2302.       fi
  2303.       # Do each command in the postinstall commands.
  2304.       cmds=$old_postinstall_cmds
  2305.       save_ifs="$IFS"; IFS='~'
  2306.       for cmd in $cmds; do
  2307. IFS="$save_ifs"
  2308. eval cmd="$cmd"
  2309. $show "$cmd"
  2310. $run eval "$cmd" || exit $?
  2311.       done
  2312.       IFS="$save_ifs"
  2313.     done
  2314.     if test -n "$future_libdirs"; then
  2315.       $echo "$modename: warning: remember to run `$progname --finish$future_libdirs'" 1>&2
  2316.     fi
  2317.     if test -n "$current_libdirs"; then
  2318.       # Maybe just do a dry run.
  2319.       test -n "$run" && current_libdirs=" -n$current_libdirs"
  2320.       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
  2321.     else
  2322.       exit $EXIT_SUCCESS
  2323.     fi
  2324.     ;;
  2325.   # libtool finish mode
  2326.   finish)
  2327.     modename="$modename: finish"
  2328.     libdirs="$nonopt"
  2329.     admincmds=
  2330.     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
  2331.       for dir
  2332.       do
  2333. libdirs="$libdirs $dir"
  2334.       done
  2335.       for libdir in $libdirs; do
  2336. if test -n "$finish_cmds"; then
  2337.   # Do each command in the finish commands.
  2338.   cmds=$finish_cmds
  2339.   save_ifs="$IFS"; IFS='~'
  2340.   for cmd in $cmds; do
  2341.     IFS="$save_ifs"
  2342.     eval cmd="$cmd"
  2343.     $show "$cmd"
  2344.     $run eval "$cmd" || admincmds="$admincmds
  2345.        $cmd"
  2346.   done
  2347.   IFS="$save_ifs"
  2348. fi
  2349. if test -n "$finish_eval"; then
  2350.   # Do the single finish_eval.
  2351.   eval cmds="$finish_eval"
  2352.   $run eval "$cmds" || admincmds="$admincmds
  2353.        $cmds"
  2354. fi
  2355.       done
  2356.     fi
  2357.     # Exit here if they wanted silent mode.
  2358.     test "$show" = : && exit $EXIT_SUCCESS
  2359.     $echo "----------------------------------------------------------------------"
  2360.     $echo "Libraries have been installed in:"
  2361.     for libdir in $libdirs; do
  2362.       $echo "   $libdir"
  2363.     done
  2364.     $echo
  2365.     $echo "If you ever happen to want to link against installed libraries"
  2366.     $echo "in a given directory, LIBDIR, you must either use libtool, and"
  2367.     $echo "specify the full pathname of the library, or use the `-LLIBDIR'"
  2368.     $echo "flag during linking and do at least one of the following:"
  2369.     if test -n "$shlibpath_var"; then
  2370.       $echo "   - add LIBDIR to the `$shlibpath_var' environment variable"
  2371.       $echo "     during execution"
  2372.     fi
  2373.     if test -n "$runpath_var"; then
  2374.       $echo "   - add LIBDIR to the `$runpath_var' environment variable"
  2375.       $echo "     during linking"
  2376.     fi
  2377.     if test -n "$hardcode_libdir_flag_spec"; then
  2378.       libdir=LIBDIR
  2379.       eval flag="$hardcode_libdir_flag_spec"
  2380.       $echo "   - use the `$flag' linker flag"
  2381.     fi
  2382.     if test -n "$admincmds"; then
  2383.       $echo "   - have your system administrator run these commands:$admincmds"
  2384.     fi
  2385.     if test -f /etc/ld.so.conf; then
  2386.       $echo "   - have your system administrator add LIBDIR to `/etc/ld.so.conf'"
  2387.     fi
  2388.     $echo
  2389.     $echo "See any operating system documentation about shared libraries for"
  2390.     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
  2391.     $echo "----------------------------------------------------------------------"
  2392.     exit $EXIT_SUCCESS
  2393.     ;;
  2394.   # libtool execute mode
  2395.   execute)
  2396.     modename="$modename: execute"
  2397.     # The first argument is the command name.
  2398.     cmd="$nonopt"
  2399.     if test -z "$cmd"; then
  2400.       $echo "$modename: you must specify a COMMAND" 1>&2
  2401.       $echo "$help"
  2402.       exit $EXIT_FAILURE
  2403.     fi
  2404.     # Handle -dlopen flags immediately.
  2405.     for file in $execute_dlfiles; do
  2406.       if test ! -f "$file"; then
  2407. $echo "$modename: `$file' is not a file" 1>&2
  2408. $echo "$help" 1>&2
  2409. exit $EXIT_FAILURE
  2410.       fi
  2411.       dir=
  2412.       case $file in
  2413.       *.la)
  2414. # Check to see that this really is a libtool archive.
  2415. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  2416. else
  2417.   $echo "$modename: `$lib' is not a valid libtool archive" 1>&2
  2418.   $echo "$help" 1>&2
  2419.   exit $EXIT_FAILURE
  2420. fi
  2421. # Read the libtool library.
  2422. dlname=
  2423. library_names=
  2424. # If there is no directory component, then add one.
  2425. case $file in
  2426. */* | *\*) . $file ;;
  2427. *) . ./$file ;;
  2428. esac
  2429. # Skip this library if it cannot be dlopened.
  2430. if test -z "$dlname"; then
  2431.   # Warn if it was a shared library.
  2432.   test -n "$library_names" && $echo "$modename: warning: `$file' was not linked with `-export-dynamic'"
  2433.   continue
  2434. fi
  2435. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  2436. test "X$dir" = "X$file" && dir=.
  2437. if test -f "$dir/$objdir/$dlname"; then
  2438.   dir="$dir/$objdir"
  2439. else
  2440.   $echo "$modename: cannot find `$dlname' in `$dir' or `$dir/$objdir'" 1>&2
  2441.   exit $EXIT_FAILURE
  2442. fi
  2443. ;;
  2444.       *.lo)
  2445. # Just add the directory containing the .lo file.
  2446. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  2447. test "X$dir" = "X$file" && dir=.
  2448. ;;
  2449.       *)
  2450. $echo "$modename: warning `-dlopen' is ignored for non-libtool libraries and objects" 1>&2
  2451. continue
  2452. ;;
  2453.       esac
  2454.       # Get the absolute pathname.
  2455.       absdir=`cd "$dir" && pwd`
  2456.       test -n "$absdir" && dir="$absdir"
  2457.       # Now add the directory to shlibpath_var.
  2458.       if eval "test -z "$$shlibpath_var""; then
  2459. eval "$shlibpath_var="$dir""
  2460.       else
  2461. eval "$shlibpath_var="$dir:$$shlibpath_var""
  2462.       fi
  2463.     done
  2464.     # This variable tells wrapper scripts just to set shlibpath_var
  2465.     # rather than running their programs.
  2466.     libtool_execute_magic="$magic"
  2467.     # Check if any of the arguments is a wrapper script.
  2468.     args=
  2469.     for file
  2470.     do
  2471.       case $file in
  2472.       -*) ;;
  2473.       *)
  2474. # Do a test to see if this is really a libtool program.
  2475. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  2476.   # If there is no directory component, then add one.
  2477.   case $file in
  2478.   */* | *\*) . $file ;;
  2479.   *) . ./$file ;;
  2480.   esac
  2481.   # Transform arg to wrapped name.
  2482.   file="$progdir/$program"
  2483. fi
  2484. ;;
  2485.       esac
  2486.       # Quote arguments (to preserve shell metacharacters).
  2487.       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
  2488.       args="$args "$file""
  2489.     done
  2490.     if test -z "$run"; then
  2491.       if test -n "$shlibpath_var"; then
  2492. # Export the shlibpath_var.
  2493. eval "export $shlibpath_var"
  2494.       fi
  2495.       # Restore saved environment variables
  2496.       if test "${save_LC_ALL+set}" = set; then
  2497. LC_ALL="$save_LC_ALL"; export LC_ALL
  2498.       fi
  2499.       if test "${save_LANG+set}" = set; then
  2500. LANG="$save_LANG"; export LANG
  2501.       fi
  2502.       # Now prepare to actually exec the command.
  2503.       exec_cmd="$cmd$args"
  2504.     else
  2505.       # Display what would be done.
  2506.       if test -n "$shlibpath_var"; then
  2507. eval "$echo "$shlibpath_var=$$shlibpath_var""
  2508. $echo "export $shlibpath_var"
  2509.       fi
  2510.       $echo "$cmd$args"
  2511.       exit $EXIT_SUCCESS
  2512.     fi
  2513.     ;;
  2514.   # libtool clean and uninstall mode
  2515.   clean | uninstall)
  2516.     modename="$modename: $mode"
  2517.     rm="$nonopt"
  2518.     files=
  2519.     rmforce=
  2520.     exit_status=0
  2521.     # This variable tells wrapper scripts just to set variables rather
  2522.     # than running their programs.
  2523.     libtool_install_magic="$magic"
  2524.     for arg
  2525.     do
  2526.       case $arg in
  2527.       -f) rm="$rm $arg"; rmforce=yes ;;
  2528.       -*) rm="$rm $arg" ;;
  2529.       *) files="$files $arg" ;;
  2530.       esac
  2531.     done
  2532.     if test -z "$rm"; then
  2533.       $echo "$modename: you must specify an RM program" 1>&2
  2534.       $echo "$help" 1>&2
  2535.       exit $EXIT_FAILURE
  2536.     fi
  2537.     rmdirs=
  2538.     origobjdir="$objdir"
  2539.     for file in $files; do
  2540.       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  2541.       if test "X$dir" = "X$file"; then
  2542. dir=.
  2543. objdir="$origobjdir"
  2544.       else
  2545. objdir="$dir/$origobjdir"
  2546.       fi
  2547.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2548.       test "$mode" = uninstall && objdir="$dir"
  2549.       # Remember objdir for removal later, being careful to avoid duplicates
  2550.       if test "$mode" = clean; then
  2551. case " $rmdirs " in
  2552.   *" $objdir "*) ;;
  2553.   *) rmdirs="$rmdirs $objdir" ;;
  2554. esac
  2555.       fi
  2556.       # Don't error if the file doesn't exist and rm -f was used.
  2557.       if (test -L "$file") >/dev/null 2>&1 
  2558. || (test -h "$file") >/dev/null 2>&1 
  2559. || test -f "$file"; then
  2560. :
  2561.       elif test -d "$file"; then
  2562. exit_status=1
  2563. continue
  2564.       elif test "$rmforce" = yes; then
  2565. continue
  2566.       fi
  2567.       rmfiles="$file"
  2568.       case $name in
  2569.       *.la)
  2570. # Possibly a libtool archive, so verify it.
  2571. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  2572.   . $dir/$name
  2573.   # Delete the libtool libraries and symlinks.
  2574.   for n in $library_names; do
  2575.     rmfiles="$rmfiles $objdir/$n"
  2576.   done
  2577.   test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
  2578.   test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
  2579.   if test "$mode" = uninstall; then
  2580.     if test -n "$library_names"; then
  2581.       # Do each command in the postuninstall commands.
  2582.       cmds=$postuninstall_cmds
  2583.       save_ifs="$IFS"; IFS='~'
  2584.       for cmd in $cmds; do
  2585. IFS="$save_ifs"
  2586. eval cmd="$cmd"
  2587. $show "$cmd"
  2588. $run eval "$cmd"
  2589. if test "$?" -ne 0 && test "$rmforce" != yes; then
  2590.   exit_status=1
  2591. fi
  2592.       done
  2593.       IFS="$save_ifs"
  2594.     fi
  2595.     if test -n "$old_library"; then
  2596.       # Do each command in the old_postuninstall commands.
  2597.       cmds=$old_postuninstall_cmds
  2598.       save_ifs="$IFS"; IFS='~'
  2599.       for cmd in $cmds; do
  2600. IFS="$save_ifs"
  2601. eval cmd="$cmd"
  2602. $show "$cmd"
  2603. $run eval "$cmd"
  2604. if test "$?" -ne 0 && test "$rmforce" != yes; then
  2605.   exit_status=1
  2606. fi
  2607.       done
  2608.       IFS="$save_ifs"
  2609.     fi
  2610.     # FIXME: should reinstall the best remaining shared library.
  2611.   fi
  2612. fi
  2613. ;;
  2614.       *.lo)
  2615. # Possibly a libtool object, so verify it.
  2616. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  2617.   # Read the .lo file
  2618.   . $dir/$name
  2619.   # Add PIC object to the list of files to remove.
  2620.   if test -n "$pic_object" 
  2621.      && test "$pic_object" != none; then
  2622.     rmfiles="$rmfiles $dir/$pic_object"
  2623.   fi
  2624.   # Add non-PIC object to the list of files to remove.
  2625.   if test -n "$non_pic_object" 
  2626.      && test "$non_pic_object" != none; then
  2627.     rmfiles="$rmfiles $dir/$non_pic_object"
  2628.   fi
  2629. fi
  2630. ;;
  2631.       *)
  2632. if test "$mode" = clean ; then
  2633.   noexename=$name
  2634.   case $file in
  2635.   *.exe)
  2636.     file=`$echo $file|${SED} 's,.exe$,,'`
  2637.     noexename=`$echo $name|${SED} 's,.exe$,,'`
  2638.     # $file with .exe has already been added to rmfiles,
  2639.     # add $file without .exe
  2640.     rmfiles="$rmfiles $file"
  2641.     ;;
  2642.   esac
  2643.   # Do a test to see if this is a libtool program.
  2644.   if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  2645.     relink_command=
  2646.     . $dir/$noexename
  2647.     # note $name still contains .exe if it was in $file originally
  2648.     # as does the version of $file that was added into $rmfiles
  2649.     rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
  2650.     if test "$fast_install" = yes && test -n "$relink_command"; then
  2651.       rmfiles="$rmfiles $objdir/lt-$name"
  2652.     fi
  2653.     if test "X$noexename" != "X$name" ; then
  2654.       rmfiles="$rmfiles $objdir/lt-${noexename}.c"
  2655.     fi
  2656.   fi
  2657. fi
  2658. ;;
  2659.       esac
  2660.       $show "$rm $rmfiles"
  2661.       $run $rm $rmfiles || exit_status=1
  2662.     done
  2663.     objdir="$origobjdir"
  2664.     # Try to remove the ${objdir}s in the directories where we deleted files
  2665.     for dir in $rmdirs; do
  2666.       if test -d "$dir"; then
  2667. $show "rmdir $dir"
  2668. $run rmdir $dir >/dev/null 2>&1
  2669.       fi
  2670.     done
  2671.     exit $exit_status
  2672.     ;;
  2673.   "")
  2674.     $echo "$modename: you must specify a MODE" 1>&2
  2675.     $echo "$generic_help" 1>&2
  2676.     exit $EXIT_FAILURE
  2677.     ;;
  2678.   esac
  2679.   if test -z "$exec_cmd"; then
  2680.     $echo "$modename: invalid operation mode `$mode'" 1>&2
  2681.     $echo "$generic_help" 1>&2
  2682.     exit $EXIT_FAILURE
  2683.   fi
  2684. fi # test -z "$show_help"
  2685. if test -n "$exec_cmd"; then
  2686.   eval exec $exec_cmd
  2687.   exit $EXIT_FAILURE
  2688. fi
  2689. # We need to display help for each of the modes.
  2690. case $mode in
  2691. "") $echo 
  2692. "Usage: $modename [OPTION]... [MODE-ARG]...
  2693. Provide generalized library-building support services.
  2694.     --config          show all configuration variables
  2695.     --debug           enable verbose shell tracing
  2696. -n, --dry-run         display commands without modifying any files
  2697.     --features        display basic configuration information and exit
  2698.     --finish          same as `--mode=finish'
  2699.     --help            display this help message and exit
  2700.     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
  2701.     --quiet           same as `--silent'
  2702.     --silent          don't print informational messages
  2703.     --tag=TAG         use configuration variables from tag TAG
  2704.     --version         print version information
  2705. MODE must be one of the following:
  2706.       clean           remove files from the build directory
  2707.       compile         compile a source file into a libtool object
  2708.       execute         automatically set library path, then run a program
  2709.       finish          complete the installation of libtool libraries
  2710.       install         install libraries or executables
  2711.       link            create a library or an executable
  2712.       uninstall       remove libraries from an installed directory
  2713. MODE-ARGS vary depending on the MODE.  Try `$modename --help --mode=MODE' for
  2714. a more detailed description of MODE.
  2715. Report bugs to <bug-libtool@gnu.org>."
  2716.   exit $EXIT_SUCCESS
  2717.   ;;
  2718. clean)
  2719.   $echo 
  2720. "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
  2721. Remove files from the build directory.
  2722. RM is the name of the program to use to delete files associated with each FILE
  2723. (typically `/bin/rm').  RM-OPTIONS are options (such as `-f') to be passed
  2724. to RM.
  2725. If FILE is a libtool library, object or program, all the files associated
  2726. with it are deleted. Otherwise, only FILE itself is deleted using RM."
  2727.   ;;
  2728. compile)
  2729.   $echo 
  2730. "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
  2731. Compile a source file into a libtool library object.
  2732. This mode accepts the following additional options:
  2733.   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
  2734.   -prefer-pic       try to building PIC objects only
  2735.   -prefer-non-pic   try to building non-PIC objects only
  2736.   -static           always build a `.o' file suitable for static linking
  2737. COMPILE-COMMAND is a command to be used in creating a `standard' object file
  2738. from the given SOURCEFILE.
  2739. The output file name is determined by removing the directory component from
  2740. SOURCEFILE, then substituting the C source code suffix `.c' with the
  2741. library object suffix, `.lo'."
  2742.   ;;
  2743. execute)
  2744.   $echo 
  2745. "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
  2746. Automatically set library path, then run a program.
  2747. This mode accepts the following additional options:
  2748.   -dlopen FILE      add the directory containing FILE to the library path
  2749. This mode sets the library path environment variable according to `-dlopen'
  2750. flags.
  2751. If any of the ARGS are libtool executable wrappers, then they are translated
  2752. into their corresponding uninstalled binary, and any of their required library
  2753. directories are added to the library path.
  2754. Then, COMMAND is executed, with ARGS as arguments."
  2755.   ;;
  2756. finish)
  2757.   $echo 
  2758. "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
  2759. Complete the installation of libtool libraries.
  2760. Each LIBDIR is a directory that contains libtool libraries.
  2761. The commands that this mode executes may require superuser privileges.  Use
  2762. the `--dry-run' option if you just want to see what would be executed."
  2763.   ;;
  2764. install)
  2765.   $echo 
  2766. "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
  2767. Install executables or libraries.
  2768. INSTALL-COMMAND is the installation command.  The first component should be
  2769. either the `install' or `cp' program.
  2770. The rest of the components are interpreted as arguments to that command (only
  2771. BSD-compatible install options are recognized)."
  2772.   ;;
  2773. link)
  2774.   $echo 
  2775. "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
  2776. Link object files or libraries together to form another library, or to
  2777. create an executable program.
  2778. LINK-COMMAND is a command using the C compiler that you would use to create
  2779. a program from several object files.
  2780. The following components of LINK-COMMAND are treated specially:
  2781.   -all-static       do not do any dynamic linking at all
  2782.   -avoid-version    do not add a version suffix if possible
  2783.   -dlopen FILE      `-dlpreopen' FILE if it cannot be dlopened at runtime
  2784.   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
  2785.   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
  2786.   -export-symbols SYMFILE
  2787.     try to export only the symbols listed in SYMFILE
  2788.   -export-symbols-regex REGEX
  2789.     try to export only the symbols matching REGEX
  2790.   -LLIBDIR          search LIBDIR for required installed libraries
  2791.   -lNAME            OUTPUT-FILE requires the installed library libNAME
  2792.   -module           build a library that can dlopened
  2793.   -no-fast-install  disable the fast-install mode
  2794.   -no-install       link a not-installable executable
  2795.   -no-undefined     declare that a library does not refer to external symbols
  2796.   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  2797.   -objectlist FILE  Use a list of object files found in FILE to specify objects
  2798.   -precious-files-regex REGEX
  2799.                     don't remove output files matching REGEX
  2800.   -release RELEASE  specify package release information
  2801.   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  2802.   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  2803.   -static           do not do any dynamic linking of libtool libraries
  2804.   -version-info CURRENT[:REVISION[:AGE]]
  2805.     specify library version info [each variable defaults to 0]
  2806. All other options (arguments beginning with `-') are ignored.
  2807. Every other argument is treated as a filename.  Files ending in `.la' are
  2808. treated as uninstalled libtool libraries, other files are standard or library
  2809. object files.
  2810. If the OUTPUT-FILE ends in `.la', then a libtool library is created,
  2811. only library objects (`.lo' files) may be specified, and `-rpath' is
  2812. required, except when creating a convenience library.
  2813. If OUTPUT-FILE ends in `.a' or `.lib', then a standard library is created
  2814. using `ar' and `ranlib', or on Windows using `lib'.
  2815. If OUTPUT-FILE ends in `.lo' or `.${objext}', then a reloadable object file
  2816. is created, otherwise an executable program is created."
  2817.   ;;
  2818. uninstall)
  2819.   $echo 
  2820. "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
  2821. Remove libraries from an installation directory.
  2822. RM is the name of the program to use to delete files associated with each FILE
  2823. (typically `/bin/rm').  RM-OPTIONS are options (such as `-f') to be passed
  2824. to RM.
  2825. If FILE is a libtool library, all the files associated with it are deleted.
  2826. Otherwise, only FILE itself is deleted using RM."
  2827.   ;;
  2828. *)
  2829.   $echo "$modename: invalid operation mode `$mode'" 1>&2
  2830.   $echo "$help" 1>&2
  2831.   exit $EXIT_FAILURE
  2832.   ;;
  2833. esac
  2834. $echo
  2835. $echo "Try `$modename --help' for more information about other modes."
  2836. exit $EXIT_SUCCESS
  2837. # The TAGs below are defined such that we never get into a situation
  2838. # in which we disable both kinds of libraries.  Given conflicting
  2839. # choices, we go for a static library, that is the most portable,
  2840. # since we can't tell whether shared libraries were disabled because
  2841. # the user asked for that or because the platform doesn't support
  2842. # them.  This is particularly important on AIX, because we don't
  2843. # support having both static and shared libraries enabled at the same
  2844. # time on that platform, so we default to a shared-only configuration.
  2845. # If a disable-shared tag is given, we'll fallback to a static-only
  2846. # configuration.  But we'll never go from static-only to shared-only.
  2847. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
  2848. build_libtool_libs=no
  2849. build_old_libs=yes
  2850. # ### END LIBTOOL TAG CONFIG: disable-shared
  2851. # ### BEGIN LIBTOOL TAG CONFIG: disable-static
  2852. build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
  2853. # ### END LIBTOOL TAG CONFIG: disable-static
  2854. # Local Variables:
  2855. # mode:shell-script
  2856. # sh-indentation:2
  2857. # End: