ltmain.sh
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:180k
源码类别:

Windows CE

开发平台:

C/C++

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