From: Gordon Matzigkeit Date: Wed, 22 Oct 1997 05:00:03 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: release-1-0~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c548bdd7f7687d80cf92175334f59fbe2763df8;p=thirdparty%2Flibtool.git *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index 8795a2a63..7d6ba6469 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Mon Oct 20 13:21:14 1997 Gordon Matzigkeit + + * ltmain.in: Silly me. Change a bunch of occurances of "* $dir *" + into *" $dir "*. + + * ltconfig.in (pic_flag): PIC is the default for AIX. From Mark + Kettenis. It is also the default for OSF/1. + + * demo/Makefile.am (objdir): Quote double-quotes. From Mark + Kettenis. + + * ltconfig.in (global_symbol_pipe): This variable is not + double-evaled, so it should not be double quoted. From Mark + Kettenis. + Sun Oct 19 12:48:14 1997 Gordon Matzigkeit * ltconfig.in (LD): Same as below. diff --git a/NEWS b/NEWS index 19a3f8f0b..ebe073c0a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ NEWS - list of user-visible changes between releases of GNU libtool. -New in 1.0d: +New in 1.0e: * Bug fixes. * Portability fixes for Windows NT. * Maybe use `_libs' as a temporary libtool directory instead of `.libs' diff --git a/TODO b/TODO index ccbf32f11..fc0f53ba8 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,16 @@ For next public release: ************************ +* For every `-L' flag, hardcode a corresponding directory. For +aesthetics and least redundancy, this should only be done once for +each dir (i.e. no duplicates). So, if the expansion is the same as +`-Llibdir', then don't add anything. Also, check that directories +added by this feature do not duplicate flags added with `-rpath'. + +The question is: should this only be done for programs? The answer +is, I think, YES! Libtool libraries and inter-library dependencies +are tricky enough without trying to factor in this complexity. + * Document `execute' mode, and the experimental nature of -dlopen and -dlpreopen. @@ -80,9 +90,10 @@ version is installed. symbols to be included in a libtool archive. * Somehow we need to make sure that static libraries never appear in -$deplibs. If a program linked against a library doesn't contain the -basename of the library (or is the same size), then the library is -probably static. +$deplibs. This, will probably require that libtool discover exactly +which files would be linked from which directories when somebody says +`-lsomething'. This adds a lot of complexity, but I see no other way +around it. * Need to finalize the documentation, and give a specification of `.la' files so that people can depend on their format. This also diff --git a/demo/Makefile.am b/demo/Makefile.am index 3181b52b4..e3b90bac1 100644 --- a/demo/Makefile.am +++ b/demo/Makefile.am @@ -34,7 +34,7 @@ helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la # Unfortunately, in order to test libtool thoroughly, we need access # to its private directory. -objdir = `sed -n -e 's/^objdir="\(.*\)"$$/\1/p' ./libtool` +objdir = `sed -n -e 's/^objdir=\"\(.*\)\"$$/\1/p' ./libtool` TESTS = run.test diff --git a/ltconfig.in b/ltconfig.in index 0a996fc80..964d5fd54 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -421,7 +421,7 @@ if test "$with_gcc" = yes; then no_builtin_flag=' -fno-builtin' case "$host_os" in - irix5* | irix6*) + aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) # PIC is the default for these OSes. pic_flag= ;; @@ -1191,7 +1191,7 @@ test "$enable_shared" = yes || enable_static=yes echo "checking whether to build static libraries... $enable_static" 1>&6 echo $ac_n "checking for objdir... $ac_c" 1>&6 -rm -f .libs +rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then objdir=.libs @@ -1215,8 +1215,7 @@ for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ case "$var" in reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds | \ - global_symbol_pipe) + old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds) # Double-quote double-evaled strings. eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" ;; diff --git a/ltmain.in b/ltmain.in index 6b120ccbb..31f004005 100644 --- a/ltmain.in +++ b/ltmain.in @@ -447,7 +447,7 @@ if test -z "$show_help"; then esac ;; rpath) - rpath="$rpath $arg" + rpath="$rpath $arg" prev= continue ;; @@ -504,6 +504,7 @@ if test -z "$show_help"; then dir=`$echo "$arg" | sed 's%^-L\(.*\)$%\1%'` case "$dir" in /*) + # Add the corresponding hardcode_libdir_flag, if it is not identical. ;; *) $echo "$progname: \`-L$dir' cannot specify a relative directory" 1>&2 @@ -523,7 +524,11 @@ if test -z "$show_help"; then ;; -static) - # We already handled this flag above. + # If we have no pic_flag, then this is the same as -all-static. + if test -z "$pic_flag" && test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi continue ;; @@ -579,7 +584,7 @@ if test -z "$show_help"; then old_library= # Check to see that this really is a libtool archive. - if egrep "^# Generated by ltmain.sh" $arg >/dev/null 2>&1; then : + if egrep '^# Generated by ltmain.sh' $arg >/dev/null 2>&1; then : else $echo "$progname: \`$arg' is not a valid libtool archive" 1>&2 exit 1 @@ -646,12 +651,12 @@ if test -z "$show_help"; then if test -n "$shlibpath_var"; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in - "* $dir *") ;; + *" $dir "*) ;; *) temp_rpath="$temp_rpath $dir" ;; esac fi - # FIXME: This is the magic to use -rpath. + # This is the magic to use -rpath. if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then @@ -659,8 +664,14 @@ if test -z "$show_help"; then hardcode_libdirs="$libdir" libdir="@HARDCODE_LIBDIRS@" else - # Just accumulate the libdirs. - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac libdir= fi fi @@ -674,7 +685,7 @@ if test -z "$show_help"; then elif test "$hardcode_runpath_var" = yes; then # Do the same for the permanent run path. case "$perm_rpath " in - "* $libdir *") ;; + *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi @@ -1099,8 +1110,14 @@ if test -z "$show_help"; then hardcode_libdirs="$libdir" libdir="@HARDCODE_LIBDIRS@" else - # Just accumulate the libdirs. - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac libdir= fi fi @@ -1113,7 +1130,7 @@ if test -z "$show_help"; then fi elif test "$hardcode_runpath_var" = yes; then case "$perm_rpath " in - "* $libdir *") ;; + *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi @@ -1186,14 +1203,14 @@ if test -z "$show_help"; then /* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION */ -/* Prevent the only kind of declaration conflicts we can make. */ -#define dld_preloaded_symbol_count some_other_symbol -#define dld_preloaded_symbols some_other_symbol - #ifdef __cplusplus extern "C" { #endif +/* Prevent the only kind of declaration conflicts we can make. */ +#define dld_preloaded_symbol_count some_other_symbol +#define dld_preloaded_symbols some_other_symbol + /* External symbol declarations for the compiler. */ EOF if test -f "$nlist"; then @@ -1687,7 +1704,7 @@ EOF *.la) # Check to see that this really is a libtool archive. - if egrep "^# Generated by ltmain.sh" $file >/dev/null 2>&1; then : + if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then : else $echo "$progname: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -1705,13 +1722,13 @@ EOF # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in - "* $libdir *") ;; + *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in - "* $libdir *") ;; + *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi @@ -1997,7 +2014,7 @@ EOF case "$file" in *.la) # Check to see that this really is a libtool archive. - if egrep "^# Generated by ltmain.sh" $file >/dev/null 2>&1; then : + if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then : else $echo "$progname: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -2132,7 +2149,7 @@ EOF case "$name" in *.la) # Possibly a libtool archive, so verify it. - if egrep "^# Generated by ltmain.sh" $file >/dev/null 2>&1; then + if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks.