mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-03-19 15:50:25 +08:00
*** empty log message ***
This commit is contained in:
parent
7f28c91f91
commit
851f5d29f6
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
Fri Sep 5 13:11:38 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltconfig.in (with_gnu_ld): Add a test to make sure that we are
|
||||
actually using GNU ld. This fixes an inconsistency when running
|
||||
ltconfig without using libtool.m4. Reported by Ulrich Drepper.
|
||||
|
||||
Thu Sep 4 21:53:08 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltmain.sh.in (echo): Quote all the uses of `echo' in all eval
|
||||
statements.
|
||||
|
||||
Thu Aug 28 20:58:56 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltmain.sh.in (echo): Change test to one that uses printf.
|
||||
|
55
README-alpha
55
README-alpha
@ -3,3 +3,58 @@ This is an alpha testing release of GNU libtool.
|
||||
Please do not send any bug reports or questions about it to public
|
||||
forums (such as GNU newsgroups), send them directly to the libtool
|
||||
mailing list <bug-libtool@gnu.ai.mit.edu>.
|
||||
|
||||
CALL FOR HELP: In order to implement dlopening even on archictectures
|
||||
that don't have shared libraries, I am collecting `NM' and
|
||||
`global_symbol_pipe' values for every known operating system.
|
||||
|
||||
If ltconfig on your system says that it found the command to parse NM
|
||||
output, then you don't need to look any further:
|
||||
|
||||
checking command to parse NM output... yes
|
||||
|
||||
Otherwise, I would very much appreciate hearing about the combination
|
||||
of `NM' and `global_symbol_pipe' that ltconfig needs to use in order
|
||||
to pass this test.
|
||||
|
||||
`NM' is set by ltconfig to be an nm program that gives BSD-compatible
|
||||
symbol output, such as:
|
||||
|
||||
$ nm assert-perr.o
|
||||
U _IO_stderr_
|
||||
00000000 T __assert_perror_fail
|
||||
U __assert_program_name
|
||||
U abort
|
||||
U fflush
|
||||
U fprintf
|
||||
U strerror
|
||||
|
||||
If your OS's nm cannot produce output like this, that's still okay,
|
||||
but, for simplicity, I prefer using this kind of output.
|
||||
|
||||
Then, global_symbol_pipe is a command that takes all exported symbols,
|
||||
including undefined ones, and produces a two-column list of them. The
|
||||
contents of the first column are the raw symbol name, and the second
|
||||
column contains the name needed to access the symbols from a C
|
||||
program.
|
||||
|
||||
So, on most OSes, this will be a command like:
|
||||
$ nm assert-perr.o | \
|
||||
sed -e '/^.* [BCDEGRSTU] /!d' -e 's/^.* [BCDEGRSTU] \(.*\)$/\1 \1/'
|
||||
_IO_stderr_ _IO_stderr_
|
||||
__assert_perror_fail __assert_perror_fail
|
||||
__assert_program_name __assert_program_name
|
||||
abort abort
|
||||
fflush fflush
|
||||
fprintf fprintf
|
||||
strerror strerror
|
||||
|
||||
On some OSes, the C symbols will need to strip a leading underscore:
|
||||
|
||||
__IO_stderr_ _IO_stderr_
|
||||
___assert_perror_fail __assert_perror_fail
|
||||
___assert_program_name __assert_program_name
|
||||
_abort abort
|
||||
_fflush fflush
|
||||
_fprintf fprintf
|
||||
_strerror strerror
|
||||
|
6
libtool.m4
vendored
6
libtool.m4
vendored
@ -21,7 +21,7 @@
|
||||
## configuration script generated by Autoconf, you may include it under
|
||||
## the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# serial 11 AM_PROG_LIBTOOL
|
||||
# serial 12 AM_PROG_LIBTOOL
|
||||
AC_DEFUN(AM_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_PROG_RANLIB])
|
||||
@ -155,9 +155,9 @@ AM_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AM_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([whether we are using GNU ld], ac_cv_prog_gnu_ld,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
|
10
ltconfig.in
10
ltconfig.in
@ -610,6 +610,16 @@ case "$LD" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check to see if it really is or isn't GNU ld.
|
||||
echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
|
||||
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
with_gnu_ld=yes
|
||||
else
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
echo $ac_t "$with_gnu_ld" 1>&6
|
||||
|
||||
# See if the linker supports building shared libraries.
|
||||
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
|
||||
|
||||
|
32
ltmain.sh.in
32
ltmain.sh.in
@ -30,7 +30,7 @@ else
|
||||
# echo "$something" | sed 's/\\/\\\\/g'
|
||||
# So, we emulate echo with printf '%s\n'
|
||||
echo='printf %s\n'
|
||||
if test X`$echo '\t'` = 'X\t'; then :
|
||||
if test "X`$echo '\t'`" = 'X\t'; then :
|
||||
else
|
||||
# Oops. We have no working printf. Try to find a not-so-buggy echo.
|
||||
echo=echo
|
||||
@ -38,7 +38,7 @@ else
|
||||
save_PATH="$PATH"
|
||||
PATH="$PATH":/usr/ucb
|
||||
for dir in $PATH; do
|
||||
if test -f $dir/echo && test X`$dir/echo '\t'` = 'X\t'; then
|
||||
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
fi
|
||||
@ -368,7 +368,7 @@ if test -z "$show_help"; then
|
||||
# link it into a program.
|
||||
if test "$build_libtool_libs" != yes; then
|
||||
$show "$echo timestamp > $libobj"
|
||||
$run eval "$echo timestamp > \$libobj" || exit $?
|
||||
$run eval "\$echo timestamp > \$libobj" || exit $?
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@ -471,7 +471,7 @@ if test -z "$show_help"; then
|
||||
-export-dynamic)
|
||||
if test "$export_dynamic" != yes; then
|
||||
export_dynamic=yes
|
||||
arg=`eval $echo "$export_dynamic_flag_spec"`
|
||||
arg=`eval \$echo "$export_dynamic_flag_spec"`
|
||||
|
||||
# Add the symbol object into the linking commands.
|
||||
compile_command="$compile_command @SYMFILE@"
|
||||
@ -647,7 +647,7 @@ if test -z "$show_help"; then
|
||||
fi
|
||||
|
||||
if test -n "$libdir"; then
|
||||
flag=`eval $echo \"$hardcode_libdir_flag_spec\"`
|
||||
flag=`eval \$echo \"$hardcode_libdir_flag_spec\"`
|
||||
|
||||
compile_command="$compile_command $flag"
|
||||
finalize_command="$finalize_command $flag"
|
||||
@ -922,13 +922,13 @@ if test -z "$show_help"; then
|
||||
|
||||
if test "$build_libtool_libs" = yes; then
|
||||
# Get the real and link names of the library.
|
||||
library_names=`eval $echo \"$library_names_spec\"`
|
||||
library_names=`eval \$echo \"$library_names_spec\"`
|
||||
set dummy $library_names
|
||||
realname="$2"
|
||||
shift; shift
|
||||
|
||||
if test -n "$soname_spec"; then
|
||||
soname=`eval $echo \"$soname_spec\"`
|
||||
soname=`eval \$echo \"$soname_spec\"`
|
||||
else
|
||||
soname="$realname"
|
||||
fi
|
||||
@ -944,7 +944,7 @@ if test -z "$show_help"; then
|
||||
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\"`
|
||||
cmds=`eval \$echo \"$archive_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1014,7 +1014,7 @@ if test -z "$show_help"; then
|
||||
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\"`
|
||||
cmds=`eval \$echo \"$reload_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1030,7 +1030,7 @@ if test -z "$show_help"; then
|
||||
# Create an invalid libtool object if no PIC, so that we don't
|
||||
# accidentally link it into a program.
|
||||
$show "$echo timestamp > $libobj"
|
||||
$run eval "$echo timestamp > $libobj" || exit $?
|
||||
$run eval "\$echo timestamp > $libobj" || exit $?
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -1038,7 +1038,7 @@ if test -z "$show_help"; then
|
||||
# Only do commands if we really have different PIC objects.
|
||||
reload_objs="$libobjs"
|
||||
output="$libobj"
|
||||
cmds=`eval $echo \"$reload_cmds\"`
|
||||
cmds=`eval \$echo \"$reload_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1371,7 +1371,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Do each command in the archive commands.
|
||||
cmds=`eval $echo \"$old_archive_cmds\"`
|
||||
cmds=`eval \$echo \"$old_archive_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1645,7 +1645,7 @@ EOF
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
lib="$destdir/$realname"
|
||||
cmds=`eval $echo \"$postinstall_cmds\"`
|
||||
cmds=`eval \$echo \"$postinstall_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1792,7 +1792,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
cmds=`eval $echo \"$old_postinstall_cmds\"`
|
||||
cmds=`eval \$echo \"$old_postinstall_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1829,7 +1829,7 @@ EOF
|
||||
|
||||
for libdir in $libdirs; do
|
||||
# Do each command in the postinstall commands.
|
||||
cmds=`eval $echo \"$finish_cmds\"`
|
||||
cmds=`eval \$echo \"$finish_cmds\"`
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@ -1971,7 +1971,7 @@ EOF
|
||||
exit 1
|
||||
else
|
||||
# Display what would be done.
|
||||
eval "$echo \"\$shlibpath_var=\$$shlibpath_var\""
|
||||
eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
|
||||
$echo "export $shlibpath_var"
|
||||
$echo "$cmd$args"
|
||||
exit 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user