diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rwxr-xr-x | ltconfig | 61 | ||||
-rw-r--r-- | ltmain.sh | 602 |
3 files changed, 400 insertions, 267 deletions
@@ -1,3 +1,7 @@ +Tue Jul 7 15:24:38 1998 Ian Lance Taylor <ian@cygnus.com> + + * ltconfig, ltmain.sh: Update to libtool 1.2b. + Thu Jul 2 13:57:36 1998 Klaus Kaempf <kkaempf@rmi.de> * makefile.vms: Update to build binutils/makefile.vms. Add install @@ -27,10 +27,14 @@ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} -if test "X$1" = "X--no-reexec"; then +echo=echo +if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift -elif test "X$SHELL" != X/bin/sh; then +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else # Restart under the correct shell. exec "$SHELL" "$0" --no-reexec ${1+"$@"} fi @@ -39,9 +43,7 @@ fi # if CDPATH is set. if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi -echo=echo -if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : -else +if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' @@ -61,16 +63,15 @@ else if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then # This shell has a builtin print -r that does the trick. echo='print -r' -# elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then -# # If we have ksh, try running ltconfig again with it. -# CONFIG_SHELL=/bin/ksh -# export CONFIG_SHELL -# exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} + elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running ltconfig again with it. + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} else # Try using printf. echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : - else + if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then # Oops. We lost completely, so just stick with echo. echo=echo fi @@ -92,7 +93,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool -VERSION=1.2a +VERSION=1.2b ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' rm="rm -f" @@ -227,8 +228,7 @@ if test -z "$ltmain"; then exit 1 fi -if test -f "$ltmain"; then : -else +if test ! -f "$ltmain"; then echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1 @@ -693,7 +693,7 @@ if test -z "$LD"; then ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. - /* | [A-Za-z]:\\*) + /* | [A-Za-z]:[/\\]*) test -z "$LD" && LD="$ac_prog" ;; "") @@ -762,6 +762,7 @@ no_undefined_flag= archive_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= +whole_archive_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no @@ -790,6 +791,9 @@ if test "$with_gnu_ld" = yes; then sunos4*) archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no ;; cygwin32* | mingw32*) @@ -845,6 +849,7 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved) runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -939,7 +944,7 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved) archive_cmds='$CC -shared -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes - hardcode_minus_L=yes + hardcode_minus_L=no hardcode_shlibpath_var=no ;; @@ -1044,7 +1049,7 @@ echo "$ac_t$ld_shlibs" 1>&6 if test -z "$NM"; then echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 case "$NM" in - /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path. + /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path. *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do @@ -1134,11 +1139,11 @@ void nm_test_func(){} main(){nm_test_var='a';nm_test_func();return(0);} EOF -echo "$progname:1137: checking if global_symbol_pipe works" >&5 -if { (eval echo $progname:1138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then +echo "$progname:1142: checking if global_symbol_pipe works" >&5 +if { (eval echo $progname:1143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then # Now try to grab the symbols. nlist=conftest.nm - if { echo "$progname:1141: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then + if { echo "$progname:1146: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -1196,7 +1201,7 @@ EOF save_CFLAGS="$CFLAGS" LIBS="conftestm.$objext" CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo $progname:1204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then pipe_works=yes else echo "$progname: failed program was:" >&5 @@ -1303,8 +1308,8 @@ freebsd2* | freebsd3*) ;; gnu*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix' + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}.so' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1384,6 +1389,8 @@ solaris2*) library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' ;; sunos4*) @@ -1459,7 +1466,8 @@ ltecho="$echo" for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \ reload_cmds wl pic_flag link_static_flag no_builtin_flag \ - export_dynamic_flag_spec libname_spec library_names_spec soname_spec RANLIB \ + export_dynamic_flag_spec whole_archive_flag_spec libname_spec \ + library_names_spec soname_spec RANLIB \ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ allow_undefined_flag no_undefined_flag objext libext \ @@ -1597,6 +1605,9 @@ no_builtin_flag="$no_builtin_flag" # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec="$export_dynamic_flag_spec" +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="$whole_archive_flag_spec" + # Library versioning type. version_type=$version_type @@ -23,6 +23,18 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + # The name of this program. progname=`$echo "$0" | sed 's%^.*/%%'` modename="$progname" @@ -30,7 +42,7 @@ modename="$progname" # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.2 +VERSION=1.2b default_mode= help="Try \`$progname --help' for more information." @@ -48,8 +60,13 @@ sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then + save_LANG="$LANG"; LANG=C; export LANG +fi if test "$LTCONFIG_VERSION" != "$VERSION"; then echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 @@ -72,6 +89,8 @@ run= show="$echo" show_help= execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +los2o="s/\\.lo /.${objext} /g" # Parse our command line options once, thoroughly. while test $# -gt 0 @@ -111,6 +130,16 @@ do exit 0 ;; + --config) + sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 + exit 0 + ;; + + --debug) + echo "$progname: enabling shell trace mode" + set -x + ;; + --dry-run | -n) run=: ;; @@ -180,7 +209,7 @@ if test -z "$show_help"; then esac done ;; - *db | *dbx) + *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) @@ -238,7 +267,6 @@ if test -z "$show_help"; then ;; -static) - build_libtool_libs=no build_old_libs=yes continue ;; @@ -293,7 +321,7 @@ if test -z "$show_help"; then libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case "$libobj" in - *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;; + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2 exit 1 @@ -315,6 +343,10 @@ if test -z "$show_help"; then trap "$run $rm $libobj; exit 1" 1 2 15 fi + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. @@ -337,7 +369,7 @@ if test -z "$show_help"; then # Just move the object, then go on to compile the next one $show "$mv $obj $libobj" - $run $mv $obj $libobj || exit 1 + $run $mv $obj $libobj || exit $? # Allow error messages only from the first compilation. suppress_output=' >/dev/null 2>&1' @@ -374,10 +406,13 @@ if test -z "$show_help"; then compile_shlibpath= finalize_shlibpath= + convenience= + old_convenience= deplibs= dlfiles= dlprefiles= export_dynamic=no + generated= hardcode_libdirs= libobjs= link_against_libtool_libs= @@ -410,8 +445,10 @@ if test -z "$show_help"; then test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. - for arg - do + while test $# -gt 0; do + arg="$1" + shift + # If the previous option needs an argument, assign it. if test -n "$prev"; then case "$prev" in @@ -495,7 +532,7 @@ if test -z "$show_help"; then -L*) dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` case "$dir" in - /* | [A-Za-z]:\\*) + /* | [A-Za-z]:[/\\]*) # Add the corresponding hardcode_libdir_flag, if it is not identical. ;; *) @@ -551,7 +588,7 @@ if test -z "$show_help"; then esac ;; - *.o | *.a) + *.o | *.obj | *.a | *.lib) # A standard object. objs="$objs $arg" ;; @@ -571,7 +608,7 @@ if test -z "$show_help"; then if test "$prev" = dlprefiles; then # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'` + dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` prev= fi libobjs="$libobjs $arg" @@ -586,7 +623,7 @@ if test -z "$show_help"; then old_library= # Check to see that this really is a libtool archive. - if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : + if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 exit 1 @@ -598,11 +635,6 @@ if test -z "$show_help"; then *) . ./$arg ;; esac - if test -z "$libdir"; then - $echo "$modename: \`$arg' contains no -rpath information" 1>&2 - exit 1 - fi - # Get the name of the library we link against. linklib= for l in $old_library $library_names; do @@ -623,6 +655,15 @@ if test -z "$show_help"; then dir="$dir/$objdir" fi + if test -z "$libdir"; then + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $dir/$old_library"l + old_convenience="$old_convenience $dir/$old_library" + compile_command="$compile_command $dir/$old_library" + finalize_command="$finalize_command $dir/$old_library" + continue + fi + # This library was specified with -dlopen. if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" @@ -696,8 +737,9 @@ if test -z "$show_help"; then fi + lib_linked=yes case "$hardcode_action" in - immediate) + immediate | unsupported) if test "$hardcode_direct" = no; then compile_command="$compile_command $dir/$linklib" elif test "$hardcode_minus_L" = no; then @@ -705,13 +747,15 @@ if test -z "$show_help"; then elif test "$hardcode_shlibpath_var" = no; then compile_shlibpath="$compile_shlibpath$dir:" compile_command="$compile_command -l$name" + else + lib_linked=no fi ;; relink) # We need an absolute path. case "$dir" in - /* | [A-Za-z]:\\*) ;; + /* | [A-Za-z]:[/\\]*) ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then @@ -729,15 +773,21 @@ if test -z "$show_help"; then elif test "$hardcode_shlibpath_var" = yes; then compile_shlibpath="$compile_shlibpath$dir:" compile_command="$compile_command -l$name" + else + lib_linked=no fi ;; - *) - $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2 - exit 1 - ;; + *) + lib_linked=no + ;; esac + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes; then finalize_command="$finalize_command $libdir/$linklib" @@ -802,14 +852,7 @@ if test -z "$show_help"; then exit 1 fi - if test -n "$vinfo" && test -n "$release"; then - $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - oldlib= - oldobjs= + oldlibs= case "$output" in "") $echo "$modename: you must specify an output file" 1>&2 @@ -819,16 +862,39 @@ if test -z "$show_help"; then */* | *\\*) $echo "$modename: output file \`$output' must have no directory components" 1>&2 + $echo "$help" 1>&2 exit 1 ;; - *.a) + *.a | *.lib) + if test -n "$link_against_libtool_libs"; then + $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 + exit 1 + fi + + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles"; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + # Now set the variables for building old libraries. build_libtool_libs=no - build_old_libs=yes - oldlib="$output" - $show "$rm $oldlib" - $run $rm $oldlib + oldlibs="$output" ;; *.la) @@ -836,7 +902,7 @@ if test -z "$show_help"; then case "$output" in lib*) ;; *) - $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2 + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 exit 1 ;; @@ -849,9 +915,6 @@ if test -z "$show_help"; then library_names= old_library= dlname= - current=0 - revision=0 - age=0 if test -n "$objs"; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 @@ -860,21 +923,12 @@ if test -z "$show_help"; then # How the heck are we supposed to write a wrapper for a shared library? if test -n "$link_against_libtool_libs"; then - $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2 + $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 exit 1 fi if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2 - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test -z "$rpath"; then - $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2 - $echo "$help" 1>&2 - exit 1 + $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 fi set dummy $rpath @@ -883,22 +937,36 @@ if test -z "$show_help"; then fi install_libdir="$2" - if test -n "$vinfo"; then + # Now set the variables for building old libraries. + oldlibs="$objdir/$libname.$libext" + if test -z "$rpath"; then + # Building a libtool convenience library. + oldlibs="$objdir/$libname.al $oldlibs" + build_libtool_libs=convenience + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else # Parse the version information argument. IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' - set dummy $vinfo + set dummy $vinfo 0 0 0 IFS="$save_ifs" - if test -n "$5"; then + if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 exit 1 fi - test -n "$2" && current="$2" - test -n "$3" && revision="$3" - test -n "$4" && age="$4" + current="$2" + revision="$3" + age="$4" # Check that each of the things are valid numbers. case "$current" in @@ -935,20 +1003,20 @@ if test -z "$show_help"; then fi # Calculate the version variables. - version_vars="version_type current age revision" + major= + versuffix= + verstring= case "$version_type" in none) ;; linux) - version_vars="$version_vars major versuffix" major=.`expr $current - $age` - versuffix=".$major.$age.$revision" + versuffix="$major.$age.$revision" ;; osf) - version_vars="$version_vars versuffix verstring" - major=.`expr $current - $age` - versuffix=."$current.$age.$revision" + major=`expr $current - $age` + versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. @@ -964,15 +1032,13 @@ if test -z "$show_help"; then ;; sunos) - version_vars="$version_vars major versuffix" - major=."$current" - versuffix=."$current.$revision" + major=".$current" + versuffix=".$current.$revision" ;; windows) # Like Linux, but with '-' rather than '.', since we only # want one extension on Windows 95. - version_vars="$version_vars major versuffix" major=`expr $current - $age` versuffix="-$major-$age-$revision" ;; @@ -983,157 +1049,145 @@ if test -z "$show_help"; then exit 1 ;; esac - else - - # No version information. - version_vars= - - case "$version_type" in - none) ;; - linux) - version_vars="$version_vars versuffix major" - major= - versuffix= - ;; - - osf) - version_vars="$version_vars versuffix verstring" + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then major= versuffix= - verstring=":0.0" - ;; - - sunos) - version_vars="$version_vars major versuffix" - major= - versuffix= - ;; + verstring="0.0" + fi - windows) - # Like Linux, but with '-' rather than '.', and with a leading - # '-', since we only want one extension on Windows 95. - version_vars="$version_vars major versuffix" - major= - versuffix= - ;; + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac + # Add libc to deplibs on all systems. + dependency_libs="$deplibs" + deplibs="$deplibs -lc" fi # Create the output directory, or remove our outputs if we need to. if test -d $objdir; then - $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" - $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* + $show "${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" + $run ${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* else $show "$mkdir $objdir" $run $mkdir $objdir - status=$? - if test $status -eq 0 || test -d $objdir; then : - else - exit $status - fi - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes + status=$? + if test $status -ne 0 && test ! -d $objdir; then + exit $status fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" fi - # Add libc to deplibs on all systems. - dependency_libs="$deplibs" - deplibs="$deplibs -lc" - if test "$build_libtool_libs" = yes; then - # Get the real and link names of the library. - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi + # Get the real and link names of the library. + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi - lib="$objdir/$realname" + lib="$objdir/$realname" for link do linknames="$linknames $link" done - # Use standard objects if they are PIC. - test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'` + # Use standard objects if they are PIC. + test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'` - # Do each of the archive commands. - eval cmds=\"$archive_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + # Transform .lo files to .o files. + test "$build_old_libs" = yes && oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'` + + if test -n "$whole_archive_flag_spec"; then + if test -n "$convenience"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + else + for xlib in $convenience; do + # Extract the objects. + xdir="$xlib"x + generated="$generated $xdir" + xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'` + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x ../$xlib)" + $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? + + libobjs="$libobjs `echo $xdir/*`" + done + fi - # Create links to the real library. - for linkname in $linknames; do + # Do each of the archive commands. + eval cmds=\"$archive_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Create links to the real library. + for linkname in $linknames; do if test "$realname" != "$linkname"; then - $show "(cd $objdir && $LN_S $realname $linkname)" - $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? - fi - done + $show "(cd $objdir && $LN_S $realname $linkname)" + $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? + fi + done - # If -export-dynamic was specified, set the dlname. - if test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi + # If -export-dynamic was specified, set the dlname. + if test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi fi - - # Now set the variables for building old libraries. - oldlib="$objdir/$libname.a" ;; - *.lo | *.o) + *.lo | *.o | *.obj) if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2 + $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 exit 1 fi if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2 - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case "$output" in @@ -1143,7 +1197,7 @@ if test -z "$show_help"; then exit 1 fi libobj="$output" - obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'` + obj=`$echo "X$output" | $Xsed -e "$lo2o"` ;; *) libobj= @@ -1155,7 +1209,7 @@ if test -z "$show_help"; then $run $rm $obj $libobj # Create the old-style object. - reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` + reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'` output="$obj" eval cmds=\"$reload_cmds\" @@ -1193,7 +1247,7 @@ if test -z "$show_help"; then else # Just create a symlink. $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj || exit 1 + $run $LN_S $obj $libobj || exit $? fi exit 0 @@ -1201,11 +1255,11 @@ if test -z "$show_help"; then *) if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi if test -n "$rpath"; then @@ -1253,8 +1307,8 @@ if test -z "$show_help"; then if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` - finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` + compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'` + finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'` fi if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then @@ -1265,7 +1319,7 @@ if test -z "$show_help"; then if test -n "$dlsyms"; then # Add our own program objects to the preloaded list. - dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` + dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'` # Discover the nlist of each of the dlfiles. nlist="$objdir/${output}.nm" @@ -1277,8 +1331,7 @@ if test -z "$show_help"; then $show "$mkdir $objdir" $run $mkdir $objdir status=$? - if test $status -eq 0 || test -d $objdir; then : - else + if test $status -ne 0 && test ! -d $objdir; then exit $status fi fi @@ -1378,8 +1431,8 @@ dld_preloaded_symbols[] = $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $? # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` elif test "$export_dynamic" != yes; then test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 else @@ -1409,13 +1462,11 @@ dld_preloaded_symbols[] = finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'` # Create the binary in the object directory, then wrap it. - if test -d $objdir; then : - else + if test ! -d $objdir; then $show "$mkdir $objdir" $run $mkdir $objdir status=$? - if test $status -eq 0 || test -d $objdir; then : - else + if test $status -ne 0 && test ! -d $objdir; then exit $status fi fi @@ -1425,7 +1476,7 @@ dld_preloaded_symbols[] = rpath= for dir in $temp_rpath; do case "$dir" in - /* | [A-Za-z]:\\*) + /* | [A-Za-z]:[/\\]*) # Absolute path. rpath="$rpath$dir:" ;; @@ -1458,13 +1509,11 @@ dld_preloaded_symbols[] = finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" fi - case "$hardcode_action" in - relink) + if test "$hardcode_action" = relink; then # AGH! Flame the AIX and HP-UX people for me, will ya? $echo "$modename: warning: using a buggy system linker" 1>&2 $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2 - ;; - esac + fi $show "$compile_command" $run eval "$compile_command" || exit $? @@ -1484,10 +1533,10 @@ dld_preloaded_symbols[] = trap "$rm $output; exit 1" 1 2 15 $echo > $output "\ -#! /bin/sh +#! $SHELL # $output - temporary wrapper script for $objdir/$output -# Generated by ltmain.sh - GNU $PACKAGE $VERSION +# Generated by $PROGRAM - GNU $PACKAGE $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. @@ -1511,10 +1560,20 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then finalize_command=\"$finalize_command\" else # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" = \"$magic\"; then : - else + if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi fi\ " $echo >> $output "\ @@ -1531,7 +1590,7 @@ else # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in - /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;; + /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi @@ -1591,9 +1650,36 @@ fi\ esac # See if we need to build an old-fashioned archive. - if test "$build_old_libs" = "yes"; then - # Transform .lo files to .o files. - oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs" + addlibs="$convenience" + build_libtool_libs=no + else + addlibs="$old_convenience" + fi + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + xdir="$xlib"x + generated="$generated $xdir" + xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'` + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x ../$xlib)" + $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? + + oldobjs="$oldobjs `echo $xdir/*`" + done # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then @@ -1608,21 +1694,25 @@ fi\ $run eval "$cmd" || exit $? done IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated fi # Now create the libtool archive. case "$output" in *.la) old_library= - test "$build_old_libs" = yes && old_library="$libname.a" - + test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" # Only create the output if not a dry run. if test -z "$run"; then $echo > $output "\ # $output - a libtool library file -# Generated by ltmain.sh - GNU $PACKAGE $VERSION +# Generated by $PROGRAM - GNU $PACKAGE $VERSION # The name that we can dlopen(3). dlname='$dlname' @@ -1649,7 +1739,7 @@ libdir='$install_libdir'\ # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. $show "(cd $objdir && $LN_S ../$output $output)" - $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1 + $run eval "(cd $objdir && $LN_S ../$output $output)" || exit $? ;; esac exit 0 @@ -1659,7 +1749,7 @@ libdir='$install_libdir'\ install) modename="$modename: install" - # There may be an optional /bin/sh argument at the beginning of + # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL"; then # Aesthetically quote it. @@ -1693,7 +1783,7 @@ libdir='$install_libdir'\ opts= prev= install_type= - isdir= + isdir=no stripme= for arg do @@ -1763,7 +1853,7 @@ libdir='$install_libdir'\ # Check to see that the destination is a directory. test -d "$dest" && isdir=yes - if test -n "$isdir"; then + if test "$isdir" = yes; then destdir="$dest" destname= else @@ -1780,7 +1870,7 @@ libdir='$install_libdir'\ fi fi case "$destdir" in - /* | [A-Za-z]:\\*) ;; + /* | [A-Za-z]:[/\\]*) ;; *) for file in $files; do case "$file" in @@ -1806,14 +1896,14 @@ libdir='$install_libdir'\ # Do each installation. case "$file" in - *.a) + *.a | *.lib) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -1863,7 +1953,9 @@ libdir='$install_libdir'\ rmcmd="$rm" for linkname do - rmcmd="$rmcmd $destdir/$linkname" + if test "X$linkname" != "X$realname"; then + rmcmd="$rmcmd $destdir/$linkname" + fi done $show "$rmcmd" $run $rmcmd @@ -1871,9 +1963,11 @@ libdir='$install_libdir'\ # ... and create new ones. for linkname do - test "X$dlname" = "X$linkname" && dlname= - $show "(cd $destdir && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $LN_S $realname $linkname)" + if test "X$linkname" != "X$realname"; then + test "X$dlname" = "X$linkname" && dlname= + $show "(cd $destdir && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $LN_S $realname $linkname)" + fi done fi @@ -1918,9 +2012,9 @@ libdir='$install_libdir'\ # Deduce the name of the destination old-style object file. case "$destfile" in *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'` + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ;; - *.o) + *.o | *.obj) staticdest="$destfile" destfile= ;; @@ -1940,7 +2034,7 @@ libdir='$install_libdir'\ # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'` + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` $show "$install_prog $staticobj $staticdest" $run eval "$install_prog \$staticobj \$staticdest" || exit $? @@ -1949,8 +2043,16 @@ libdir='$install_libdir'\ ;; *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then link_against_libtool_libs= finalize_command= @@ -1978,10 +2080,7 @@ libdir='$install_libdir'\ esac fi libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" - if test -z "$libdir"; then - $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2 - elif test -f "$libfile"; then : - else + if test -n "$libdir" && test ! -f "$libfile"; then $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi @@ -2006,8 +2105,8 @@ libdir='$install_libdir'\ fi fi - $show "$install_prog$stripme $file $dest" - $run eval "$install_prog\$stripme \$file \$dest" || exit $? + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? ;; esac done @@ -2050,6 +2149,7 @@ libdir='$install_libdir'\ finish) modename="$modename: finish" libdirs="$nonopt" + admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir @@ -2065,19 +2165,21 @@ libdir='$install_libdir'\ for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" - $run eval "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" done IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" - $run eval "$cmds" + $run eval "$cmds" || admincmds="$admincmds + $cmds" fi done fi - echo "------------------------------------------------------------------------------" + echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do echo " $libdir" @@ -2086,7 +2188,7 @@ libdir='$install_libdir'\ echo "To link against installed libraries in a given directory, LIBDIR," echo "you must use the \`-LLIBDIR' flag during linking." echo - echo " You will also need to do one of the following:" + echo " You will also need to do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" @@ -2101,13 +2203,16 @@ libdir='$install_libdir'\ echo " - use the \`$flag' linker flag" fi + if test -n "$admincmds"; then + echo " - have your system administrator run these commands:$admincmds" + fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "------------------------------------------------------------------------------" + echo "----------------------------------------------------------------------" exit 0 ;; @@ -2125,8 +2230,7 @@ libdir='$install_libdir'\ # Handle -dlopen flags immediately. for file in $execute_dlfiles; do - if test -f "$file"; then : - else + if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit 1 @@ -2136,7 +2240,7 @@ libdir='$install_libdir'\ case "$file" in *.la) # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -2207,7 +2311,7 @@ libdir='$install_libdir'\ -*) ;; *) # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; @@ -2228,6 +2332,14 @@ libdir='$install_libdir'\ # Export the shlibpath_var. eval "export $shlibpath_var" + # Restore saved enviroment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + # Now actually exec the command. eval "exec \$cmd$args" @@ -2272,7 +2384,7 @@ libdir='$install_libdir'\ case "$name" in *.la) # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. @@ -2316,7 +2428,7 @@ libdir='$install_libdir'\ *.lo) if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'` + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` rmfiles="$rmfiles $dir/$oldobj" fi $show "$rm $rmfiles" @@ -2351,8 +2463,10 @@ case "$mode" in Provide generalized library-building support services. + --config show all configuration variables + --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files - --features display configuration information and exit + --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] @@ -2380,6 +2494,10 @@ compile) Compile a source file into a libtool library object. +This mode accepts the following additional options: + + -static always build a \`.o' file suitable for static linking + COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. @@ -2468,11 +2586,11 @@ object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required. -If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar' -and \`ranlib'. +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on WIndows using \`lib'. -If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is -created, otherwise an executable program is created." +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." ;; uninstall) |