diff --git a/ChangeLog b/ChangeLog index 9c1753a3..98f4c3b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,28 @@ +Wed Jul 23 08:18:19 1997 Gordon Matzigkeit + + * ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure + script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin + Jacobs. + Mon Jul 21 09:46:02 1997 Gordon Matzigkeit + * ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X; + Y'" with "sed -e 'X' -e 'Y'". + * ltmain.sh.in (link): Finish full integration for `-dlopen' and `-dlpreopen'. + Fix two silly typos where I used a compile_command in place of a finalize_command, and vice versa. + Change the wrapper script to check a hardcoded path only if the argv[0] method fails. This is a compromise for the previous two patches, and should solve the majority of problems with wrapper scripts. From Kenneth Albanowski. + (link): Change a reference to hardcode_libdir_colon_separated to + use the new hardcode_libdir_separator variable. + * demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and `-dlpreopen' for building helldl. diff --git a/README b/README index c9e08697..542162c9 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ This is GNU libtool, a generic library support script. Libtool hides -the complexity of using shared libraries behind a consistent +the complexity of using shared libraries behind a consistent, portable interface. To use libtool, add the new generic library building commands to your diff --git a/doc/platforms.texi b/doc/platforms.texi index bdae826d..69ad1d89 100644 --- a/doc/platforms.texi +++ b/doc/platforms.texi @@ -31,7 +31,7 @@ sparc-sun-sunos4.1.4 gcc 1.0 ok sparc-sun-solaris2.4 cc 0.9 ok sparc-sun-solaris2.4 gcc 0.9 ok sparc-sun-solaris2.5 cc 0.9 ok -sparc-sun-solaris2.5 gcc 1.0 ok +sparc-sun-solaris2.5 gcc 1.0a ok -------------------------------------------------------- * Libtool will not build shared libraries because of a bug in diff --git a/libtool.spec b/libtool.spec index ab5e1c71..c421cfef 100644 --- a/libtool.spec +++ b/libtool.spec @@ -4,12 +4,12 @@ Version: 1.1 Release: 1 Copyright: GPL Group: Development/Build -Source: ftp://prep.ai.mit.edu/pub/gnu/libtool-1.0.tar.gz +Source: ftp://prep.ai.mit.edu/pub/gnu/libtool-1.1.tar.gz BuildRoot: /tmp/libtool.root %description This is GNU libtool, a generic library support script. Libtool hides -the complexity of using shared libraries behind a consistent +the complexity of using shared libraries behind a consistent, portable interface. To use libtool, add the new generic library building commands to your diff --git a/ltconfig.in b/ltconfig.in index 8aa0ecdc..e7adadd8 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -405,7 +405,6 @@ else case "$host_os" in aix3* | aix4*) # FIXME All rs/6000 code is PIC, but is there any non-rs/6000 AIX platform? - pic_flag= link_static_flag='-bnso -bI:/lib/syscalls.exp' ;; @@ -454,8 +453,9 @@ else fi case "$host_cpu" in -rs6000 | powerpc | powerpcle) +alpha | rs6000 | powerpc | powerpcle) # Yippee! All RS/6000 and PowerPC code is position-independent. + # Apparently, so is DEC alpha! pic_flag= ;; esac @@ -742,21 +742,21 @@ echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 # This is a sane default that works on at least a few old systems. # [It comes from Ultrix. What could be older than Ultrix?!! ;)] -global_symbol_pipe="sed '/^.* [BCDEGRSTU] /!d; s/^.* [BCDEGRSTU] \(.*\)$/\1 \1/'" +global_symbol_pipe="sed -e '/^.* [BCDEGRSTU] /!d' -e 's/^.* [BCDEGRSTU] \(.*\)$/\1 \1/'" # Take a first stab at what the pipe should be. if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then # We're using GNU nm. - global_symbol_pipe="sed '/^.* [ABCDGISTU] /!d; s/^.* [ABCDGISTU] \(.*\)$/\1 \1/'" + global_symbol_pipe="sed -e '/^.* [ABCDGISTU] /!d' -e 's/^.* [ABCDGISTU] \(.*\)$/\1 \1/'" else # It's the system nm. case "$host_os" in aix*) # Delete symbols that begin with a dot. - global_symbol_pipe="sed '/^.* [BCDTU] [^.]/!d; s/^.* [BCDTU] \(.*\)$/\1 \1/'" + global_symbol_pipe="sed -e '/^.* [BCDTU] [^.]/!d' -e 's/^.* [BCDTU] \(.*\)$/\1 \1/'" ;; solaris2*) - global_symbol_pipe="sed '/^.* [BDTU] /!d; s/^.* [BDTU] \(.*\)$/\1 \1/'" + global_symbol_pipe="sed -e '/^.* [BDTU] /!d' -e 's/^.* [BDTU] \(.*\)$/\1 \1/'" ;; esac fi diff --git a/ltmain.sh.in b/ltmain.sh.in index 929e434d..36369fe3 100644 --- a/ltmain.sh.in +++ b/ltmain.sh.in @@ -478,7 +478,7 @@ if test -z "$show_help"; then fi # Find the relevant object directory and library name. - name=`echo "$arg" | sed 's%^.*/%%; s/\.la$//; s/^lib//'` + name=`echo "$arg" | sed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` dir=`echo "$arg" | sed 's%/[^/]*$%%'` if test "$dir" = "$arg"; then dir="$objdir" @@ -633,7 +633,7 @@ if test -z "$show_help"; then fi # Substitute the hardcoded libdirs into the compile commands. - if test "$hardcode_libdir_colon_separated" = yes; then + if test -n "$hardcode_libdir_separator"; then compile_command=`echo "$compile_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` finalize_command=`echo "$finalize_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` fi @@ -818,7 +818,7 @@ if test -z "$show_help"; then done # Use standard objects if they are PIC. - test -z "$pic_flag" && libobjs=`echo "$libobjs " | sed 's/\.lo /.o /g; s/ $//g'` + test -z "$pic_flag" && libobjs=`echo "$libobjs " | sed -e 's/\.lo /.o /g' -e 's/ $//g'` # Do each of the archive commands. cmds=`eval echo \"$archive_cmds\"` @@ -888,7 +888,7 @@ if test -z "$show_help"; then $run $rm $obj $libobj # Create the old-style object. - reload_objs="$objs"`echo "$libobjs " | sed 's/[^ ]*\.a //g; s/\.lo /.o /g; s/ $//g'` + reload_objs="$objs"`echo "$libobjs " | sed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` output="$obj" cmds=`eval echo \"$reload_cmds\"` @@ -943,13 +943,13 @@ if test -z "$show_help"; then if test -n "$libobjs"; then # Transform all the library objects into standard objects. - compile_command=`echo "$compile_command " | sed 's/\.lo /.o /g; s/ $//'` - finalize_command=`echo "$finalize_command " | sed 's/\.lo /.o /g; s/ $//'` + compile_command=`echo "$compile_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'` + finalize_command=`echo "$finalize_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'` fi if test "$export_dynamic" = yes && test -n "$global_symbol_pipe" && test -n "$NM"; then # Add our own program objects to the preloaded list. - dlprefiles=`echo "$objs$libobjs$dlprefiles " | sed 's/\.lo /.o/g; s/ $//'` + dlprefiles=`echo "$objs$libobjs$dlprefiles " | sed -e 's/\.lo /.o/g' -e 's/ $//'` # Discover the nlist of each of the dlfiles. dlsyms="$objdir/${output}S.c" @@ -975,7 +975,7 @@ if test -z "$show_help"; then EOF if test -f "$nlist"; then # Prevent the only kind of circular reference mistake we can make. - sed '/ dld_preloaded_symbols$/d; s/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$dlsyms" + sed -e '/ dld_preloaded_symbols$/d' -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$dlsyms" else echo "/* NONE */" >> "$dlsyms" fi @@ -1018,6 +1018,9 @@ EOF elif test "$export_dynamic" != yes; then test -n "$dlfiles$dlprefiles" && echo "$progname: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 else + # We keep going just in case the user didn't refer to + # dld_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. echo "$progname: not configured to extract global symbols from dlpreopened files" 1>&2 # Nullify the symbol file. @@ -1038,7 +1041,7 @@ EOF # If we failed to link statically, then try again. if test $status -ne 0 && test -n "$link_static"; then echo "$progname: cannot link \`$output' statically; retrying semi-dynamically" 1>&2 - compile_command=`echo "$compile_command " | sed "s% $link_static % %;s/ $//"` + compile_command=`echo "$compile_command " | sed -e "s% $link_static % %" -e 's/ $//'` $show "$compile_command" $run $compile_command status=$? @@ -1202,7 +1205,7 @@ EOF oldlib="$objdir/$libname.a" # Transform .lo files to .o files. - oldobjs="$objs"`echo "$libobjs " | sed 's/[^ ]*\.a //g; s/\.lo /.o /g; s/ $//g'` + oldobjs="$objs"`echo "$libobjs " | sed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` if test -d "$objdir"; then $show "$rm $oldlib" @@ -1494,14 +1497,14 @@ EOF if test -n "$destname"; then destfile="$destdir/$destname" else - destfile=`echo "$file" | sed 's%^.*/%%;'` + destfile=`echo "$file" | sed 's%^.*/%%'` destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case "$destfile" in *.lo) - staticdest=`echo "$destfile" | sed 's/\.lo$/\.o/;'` + staticdest=`echo "$destfile" | sed 's/\.lo$/\.o/'` ;; *.o) staticdest="$destfile" @@ -1523,7 +1526,7 @@ EOF # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. - staticobj=`echo "$file" | sed 's/\.lo$/\.o/;'` + staticobj=`echo "$file" | sed 's/\.lo$/\.o/'` $show "$install_prog $staticobj $staticdest" $run $install_prog $staticobj $staticdest || exit $?