|
|
|
@ -49,14 +49,14 @@ EOF |
|
|
|
fi |
|
|
|
|
|
|
|
# The name of this program. |
|
|
|
progname=`$echo "$0" | sed 's%^.*/%%'` |
|
|
|
progname=`$echo "$0" | ${SED} 's%^.*/%%'` |
|
|
|
modename="$progname" |
|
|
|
|
|
|
|
# Constants. |
|
|
|
PROGRAM=ltmain.sh |
|
|
|
PACKAGE=libtool |
|
|
|
VERSION=1.4.2 |
|
|
|
TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)" |
|
|
|
VERSION=1.4.3 |
|
|
|
TIMESTAMP=" (1.922.2.110 2002/10/23 01:39:54)" |
|
|
|
|
|
|
|
default_mode= |
|
|
|
help="Try \`$progname --help' for more information." |
|
|
|
@ -67,10 +67,19 @@ rm="rm -f" |
|
|
|
|
|
|
|
# Sed substitution that helps us do robust quoting. It backslashifies |
|
|
|
# metacharacters that are still active within double-quoted strings. |
|
|
|
Xsed='sed -e 1s/^X//' |
|
|
|
Xsed="${SED}"' -e 1s/^X//' |
|
|
|
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' |
|
|
|
SP2NL='tr \040 \012' |
|
|
|
NL2SP='tr \015\012 \040\040' |
|
|
|
# test EBCDIC or ASCII |
|
|
|
case `echo A|od -x` in |
|
|
|
*[Cc]1*) # EBCDIC based system |
|
|
|
SP2NL="tr '\100' '\n'" |
|
|
|
NL2SP="tr '\r\n' '\100\100'" |
|
|
|
;; |
|
|
|
*) # Assume ASCII based system |
|
|
|
SP2NL="tr '\040' '\012'" |
|
|
|
NL2SP="tr '\015\012' '\040\040'" |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
# NLS nuisances. |
|
|
|
# Only set LANG and LC_ALL to C if already set. |
|
|
|
@ -144,7 +153,7 @@ do |
|
|
|
;; |
|
|
|
|
|
|
|
--config) |
|
|
|
sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 |
|
|
|
${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 |
|
|
|
exit 0 |
|
|
|
;; |
|
|
|
|
|
|
|
@ -177,6 +186,8 @@ do |
|
|
|
--mode) prevopt="--mode" prev=mode ;; |
|
|
|
--mode=*) mode="$optarg" ;; |
|
|
|
|
|
|
|
--preserve-dup-deps) duplicate_deps="yes" ;; |
|
|
|
|
|
|
|
--quiet | --silent) |
|
|
|
show=: |
|
|
|
;; |
|
|
|
@ -215,7 +226,7 @@ if test -z "$show_help"; then |
|
|
|
# Infer the operation mode. |
|
|
|
if test -z "$mode"; then |
|
|
|
case $nonopt in |
|
|
|
*cc | *++ | gcc* | *-gcc*) |
|
|
|
*cc | *++ | gcc* | *-gcc* | xlc*) |
|
|
|
mode=link |
|
|
|
for arg |
|
|
|
do |
|
|
|
@ -467,7 +478,7 @@ if test -z "$show_help"; then |
|
|
|
pic_mode=default |
|
|
|
;; |
|
|
|
esac |
|
|
|
if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then |
|
|
|
if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then |
|
|
|
# non-PIC code in shared libraries is not supported |
|
|
|
pic_mode=default |
|
|
|
fi |
|
|
|
@ -992,7 +1003,7 @@ compiler." |
|
|
|
# so, if we see these flags be careful not to treat them like -L |
|
|
|
-L[A-Z][A-Z]*:*) |
|
|
|
case $with_gcc/$host in |
|
|
|
no/*-*-irix*) |
|
|
|
no/*-*-irix* | no/*-*-nonstopux*) |
|
|
|
compile_command="$compile_command $arg" |
|
|
|
finalize_command="$finalize_command $arg" |
|
|
|
;; |
|
|
|
@ -1043,14 +1054,14 @@ compiler." |
|
|
|
# These systems don't actually have a C library (as such) |
|
|
|
test "X$arg" = "X-lc" && continue |
|
|
|
;; |
|
|
|
*-*-openbsd*) |
|
|
|
*-*-openbsd* | *-*-freebsd*) |
|
|
|
# Do not include libc due to us having libc/libc_r. |
|
|
|
test "X$arg" = "X-lc" && continue |
|
|
|
;; |
|
|
|
esac |
|
|
|
elif test "X$arg" = "X-lc_r"; then |
|
|
|
case $host in |
|
|
|
*-*-openbsd*) |
|
|
|
*-*-openbsd* | *-*-freebsd*) |
|
|
|
# Do not include libc_r directly, use -pthread flag. |
|
|
|
continue |
|
|
|
;; |
|
|
|
@ -1330,9 +1341,11 @@ compiler." |
|
|
|
# Find all interdependent deplibs by searching for libraries |
|
|
|
# that are linked more than once (e.g. -la -lb -la) |
|
|
|
for deplib in $deplibs; do |
|
|
|
case "$libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
if test "X$duplicate_deps" = "Xyes" ; then |
|
|
|
case "$libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
fi |
|
|
|
libs="$libs $deplib" |
|
|
|
done |
|
|
|
deplibs= |
|
|
|
@ -1461,10 +1474,12 @@ compiler." |
|
|
|
lib) |
|
|
|
if test "$deplibs_check_method" != pass_all; then |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $deplib." |
|
|
|
echo "*** Warning: Trying to link with static lib archive $deplib." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
echo "*** shared version of the library, which you do not appear to have" |
|
|
|
echo "*** because the file extensions .$libext of this argument makes me believe" |
|
|
|
echo "*** that it is just a static archive that I should not used here." |
|
|
|
else |
|
|
|
echo |
|
|
|
echo "*** Warning: Linking the shared library $output against the" |
|
|
|
@ -1508,7 +1523,7 @@ compiler." |
|
|
|
fi |
|
|
|
|
|
|
|
# Check to see that this really is a libtool archive. |
|
|
|
if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : |
|
|
|
if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : |
|
|
|
else |
|
|
|
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
|
|
|
exit 1 |
|
|
|
@ -1555,9 +1570,11 @@ compiler." |
|
|
|
tmp_libs= |
|
|
|
for deplib in $dependency_libs; do |
|
|
|
deplibs="$deplib $deplibs" |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
if test "X$duplicate_deps" = "Xyes" ; then |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
fi |
|
|
|
tmp_libs="$tmp_libs $deplib" |
|
|
|
done |
|
|
|
elif test $linkmode != prog && test $linkmode != lib; then |
|
|
|
@ -1680,9 +1697,11 @@ compiler." |
|
|
|
# or/and link against static libraries |
|
|
|
newdependency_libs="$deplib $newdependency_libs" |
|
|
|
fi |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
if test "X$duplicate_deps" = "Xyes" ; then |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
fi |
|
|
|
tmp_libs="$tmp_libs $deplib" |
|
|
|
done # for deplib |
|
|
|
continue |
|
|
|
@ -1766,8 +1785,8 @@ compiler." |
|
|
|
|
|
|
|
# Make a new name for the extract_expsyms_cmds to use |
|
|
|
soroot="$soname" |
|
|
|
soname=`echo $soroot | sed -e 's/^.*\///'` |
|
|
|
newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" |
|
|
|
soname=`echo $soroot | ${SED} -e 's/^.*\///'` |
|
|
|
newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" |
|
|
|
|
|
|
|
# If the library has no export list, then create one now |
|
|
|
if test -f "$output_objdir/$soname-def"; then : |
|
|
|
@ -1926,13 +1945,14 @@ compiler." |
|
|
|
# Just print a warning and add the library to dependency_libs so |
|
|
|
# that the program can be linked against the static library. |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $lib." |
|
|
|
echo "*** Warning: This system can not link to static lib archive $lib." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
if test "$module" = yes; then |
|
|
|
echo "*** Therefore, libtool will create a static module, that should work " |
|
|
|
echo "*** as long as the dlopening application is linked with the -dlopen flag." |
|
|
|
echo "*** But as you try to build a module library, libtool will still create " |
|
|
|
echo "*** a static module, that should work as long as the dlopening application" |
|
|
|
echo "*** is linked with the -dlopen flag to resolve symbols at runtime." |
|
|
|
if test -z "$global_symbol_pipe"; then |
|
|
|
echo |
|
|
|
echo "*** However, this would only work if libtool was able to extract symbol" |
|
|
|
@ -1981,9 +2001,11 @@ compiler." |
|
|
|
tmp_libs= |
|
|
|
for deplib in $dependency_libs; do |
|
|
|
newdependency_libs="$deplib $newdependency_libs" |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
if test "X$duplicate_deps" = "Xyes" ; then |
|
|
|
case "$tmp_libs " in |
|
|
|
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
|
|
|
esac |
|
|
|
fi |
|
|
|
tmp_libs="$tmp_libs $deplib" |
|
|
|
done |
|
|
|
|
|
|
|
@ -2009,7 +2031,7 @@ compiler." |
|
|
|
if grep "^installed=no" $deplib > /dev/null; then |
|
|
|
path="-L$absdir/$objdir" |
|
|
|
else |
|
|
|
eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
|
|
|
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
|
|
|
if test -z "$libdir"; then |
|
|
|
$echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 |
|
|
|
exit 1 |
|
|
|
@ -2273,16 +2295,21 @@ compiler." |
|
|
|
versuffix=".$current"; |
|
|
|
;; |
|
|
|
|
|
|
|
irix) |
|
|
|
irix | nonstopux) |
|
|
|
major=`expr $current - $age + 1` |
|
|
|
verstring="sgi$major.$revision" |
|
|
|
|
|
|
|
case $version_type in |
|
|
|
nonstopux) verstring_prefix=nonstopux ;; |
|
|
|
*) verstring_prefix=sgi ;; |
|
|
|
esac |
|
|
|
verstring="$verstring_prefix$major.$revision" |
|
|
|
|
|
|
|
# Add in all the interfaces that we are compatible with. |
|
|
|
loop=$revision |
|
|
|
while test $loop != 0; do |
|
|
|
iface=`expr $revision - $loop` |
|
|
|
loop=`expr $loop - 1` |
|
|
|
verstring="sgi$major.$iface:$verstring" |
|
|
|
verstring="$verstring_prefix$major.$iface:$verstring" |
|
|
|
done |
|
|
|
|
|
|
|
# Before this point, $major must not contain `.'. |
|
|
|
@ -2296,7 +2323,7 @@ compiler." |
|
|
|
;; |
|
|
|
|
|
|
|
osf) |
|
|
|
major=`expr $current - $age` |
|
|
|
major=.`expr $current - $age` |
|
|
|
versuffix=".$current.$age.$revision" |
|
|
|
verstring="$current.$age.$revision" |
|
|
|
|
|
|
|
@ -2388,9 +2415,9 @@ compiler." |
|
|
|
|
|
|
|
# Eliminate all temporary directories. |
|
|
|
for path in $notinst_path; do |
|
|
|
lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` |
|
|
|
deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` |
|
|
|
dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` |
|
|
|
lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` |
|
|
|
deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` |
|
|
|
dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` |
|
|
|
done |
|
|
|
|
|
|
|
if test -n "$xrpath"; then |
|
|
|
@ -2441,7 +2468,7 @@ compiler." |
|
|
|
*-*-netbsd*) |
|
|
|
# Don't link with libc until the a.out ld.so is fixed. |
|
|
|
;; |
|
|
|
*-*-openbsd*) |
|
|
|
*-*-openbsd* | *-*-freebsd*) |
|
|
|
# Do not include libc due to us having libc/libc_r. |
|
|
|
;; |
|
|
|
*) |
|
|
|
@ -2502,18 +2529,20 @@ EOF |
|
|
|
else |
|
|
|
droppeddeps=yes |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $i." |
|
|
|
echo "*** Warning: dynamic linker does not accept needed library $i." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
echo "*** shared version of the library, which I believe you do not have" |
|
|
|
echo "*** because a test_compile did reveal that the linker did not use it for" |
|
|
|
echo "*** its dynamic dependency list that programs get resolved with at runtime." |
|
|
|
fi |
|
|
|
else |
|
|
|
newdeplibs="$newdeplibs $i" |
|
|
|
fi |
|
|
|
done |
|
|
|
else |
|
|
|
# Error occured in the first compile. Let's try to salvage the situation: |
|
|
|
# Compile a seperate program for each library. |
|
|
|
# Error occured in the first compile. Let's try to salvage |
|
|
|
# the situation: Compile a separate program for each library. |
|
|
|
for i in $deplibs; do |
|
|
|
name="`expr $i : '-l\(.*\)'`" |
|
|
|
# If $name is empty we are operating on a -L argument. |
|
|
|
@ -2532,10 +2561,12 @@ EOF |
|
|
|
else |
|
|
|
droppeddeps=yes |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $i." |
|
|
|
echo "*** Warning: dynamic linker does not accept needed library $i." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
echo "*** shared version of the library, which you do not appear to have" |
|
|
|
echo "*** because a test_compile did reveal that the linker did not use this one" |
|
|
|
echo "*** as a dynamic dependency that programs can get resolved with at runtime." |
|
|
|
fi |
|
|
|
else |
|
|
|
droppeddeps=yes |
|
|
|
@ -2574,14 +2605,14 @@ EOF |
|
|
|
# but so what? |
|
|
|
potlib="$potent_lib" |
|
|
|
while test -h "$potlib" 2>/dev/null; do |
|
|
|
potliblink=`ls -ld $potlib | sed 's/.* -> //'` |
|
|
|
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` |
|
|
|
case $potliblink in |
|
|
|
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; |
|
|
|
*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; |
|
|
|
esac |
|
|
|
done |
|
|
|
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ |
|
|
|
| sed 10q \ |
|
|
|
| ${SED} 10q \ |
|
|
|
| egrep "$file_magic_regex" > /dev/null; then |
|
|
|
newdeplibs="$newdeplibs $a_deplib" |
|
|
|
a_deplib="" |
|
|
|
@ -2592,10 +2623,17 @@ EOF |
|
|
|
if test -n "$a_deplib" ; then |
|
|
|
droppeddeps=yes |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $a_deplib." |
|
|
|
echo "*** Warning: linker path does not have real file for library $a_deplib." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
echo "*** shared version of the library, which you do not appear to have" |
|
|
|
echo "*** because I did check the linker path looking for a file starting" |
|
|
|
if test -z "$potlib" ; then |
|
|
|
echo "*** with $libname but no candidates were found. (...for file magic test)" |
|
|
|
else |
|
|
|
echo "*** with $libname and none of the candidates passed a file format test" |
|
|
|
echo "*** using a file magic. Last file checked: $potlib" |
|
|
|
fi |
|
|
|
fi |
|
|
|
else |
|
|
|
# Add a -L argument. |
|
|
|
@ -2614,8 +2652,9 @@ EOF |
|
|
|
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do |
|
|
|
potential_libs=`ls $i/$libname[.-]* 2>/dev/null` |
|
|
|
for potent_lib in $potential_libs; do |
|
|
|
potlib="$potent_lib" # see symlink-check below in file_magic test |
|
|
|
if eval echo \"$potent_lib\" 2>/dev/null \ |
|
|
|
| sed 10q \ |
|
|
|
| ${SED} 10q \ |
|
|
|
| egrep "$match_pattern_regex" > /dev/null; then |
|
|
|
newdeplibs="$newdeplibs $a_deplib" |
|
|
|
a_deplib="" |
|
|
|
@ -2626,10 +2665,17 @@ EOF |
|
|
|
if test -n "$a_deplib" ; then |
|
|
|
droppeddeps=yes |
|
|
|
echo |
|
|
|
echo "*** Warning: This library needs some functionality provided by $a_deplib." |
|
|
|
echo "*** Warning: linker path does not have real file for library $a_deplib." |
|
|
|
echo "*** I have the capability to make that library automatically link in when" |
|
|
|
echo "*** you link to this library. But I can only do this if you have a" |
|
|
|
echo "*** shared version of the library, which you do not appear to have." |
|
|
|
echo "*** shared version of the library, which you do not appear to have" |
|
|
|
echo "*** because I did check the linker path looking for a file starting" |
|
|
|
if test -z "$potlib" ; then |
|
|
|
echo "*** with $libname but no candidates were found. (...for regex pattern test)" |
|
|
|
else |
|
|
|
echo "*** with $libname and none of the candidates passed a file format test" |
|
|
|
echo "*** using a regex pattern. Last file checked: $potlib" |
|
|
|
fi |
|
|
|
fi |
|
|
|
else |
|
|
|
# Add a -L argument. |
|
|
|
@ -2894,7 +2940,18 @@ EOF |
|
|
|
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then |
|
|
|
eval cmds=\"$archive_expsym_cmds\" |
|
|
|
else |
|
|
|
save_deplibs="$deplibs" |
|
|
|
for conv in $convenience; do |
|
|
|
tmp_deplibs= |
|
|
|
for test_deplib in $deplibs; do |
|
|
|
if test "$test_deplib" != "$conv"; then |
|
|
|
tmp_deplibs="$tmp_deplibs $test_deplib" |
|
|
|
fi |
|
|
|
done |
|
|
|
deplibs="$tmp_deplibs" |
|
|
|
done |
|
|
|
eval cmds=\"$archive_cmds\" |
|
|
|
deplibs="$save_deplibs" |
|
|
|
fi |
|
|
|
save_ifs="$IFS"; IFS='~' |
|
|
|
for cmd in $cmds; do |
|
|
|
@ -3093,7 +3150,7 @@ EOF |
|
|
|
|
|
|
|
prog) |
|
|
|
case $host in |
|
|
|
*cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; |
|
|
|
*cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; |
|
|
|
esac |
|
|
|
if test -n "$vinfo"; then |
|
|
|
$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 |
|
|
|
@ -3115,6 +3172,13 @@ EOF |
|
|
|
# On Rhapsody replace the C library is the System framework |
|
|
|
compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` |
|
|
|
finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` |
|
|
|
case $host in |
|
|
|
*darwin*) |
|
|
|
# Don't allow lazy linking, it breaks C++ global constructors |
|
|
|
compile_command="$compile_command ${wl}-bind_at_load" |
|
|
|
finalize_command="$finalize_command ${wl}-bind_at_load" |
|
|
|
;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
@ -3281,9 +3345,9 @@ extern \"C\" { |
|
|
|
if test -z "$export_symbols"; then |
|
|
|
export_symbols="$output_objdir/$output.exp" |
|
|
|
$run $rm $export_symbols |
|
|
|
$run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' |
|
|
|
$run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' |
|
|
|
else |
|
|
|
$run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' |
|
|
|
$run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' |
|
|
|
$run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' |
|
|
|
$run eval 'mv "$nlist"T "$nlist"' |
|
|
|
fi |
|
|
|
@ -3291,7 +3355,7 @@ extern \"C\" { |
|
|
|
|
|
|
|
for arg in $dlprefiles; do |
|
|
|
$show "extracting global C symbols from \`$arg'" |
|
|
|
name=`echo "$arg" | sed -e 's%^.*/%%'` |
|
|
|
name=`echo "$arg" | ${SED} -e 's%^.*/%%'` |
|
|
|
$run eval 'echo ": $name " >> "$nlist"' |
|
|
|
$run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" |
|
|
|
done |
|
|
|
@ -3306,7 +3370,13 @@ extern \"C\" { |
|
|
|
fi |
|
|
|
|
|
|
|
# Try sorting and uniquifying the output. |
|
|
|
if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then |
|
|
|
if grep -v "^: " < "$nlist" | |
|
|
|
if sort -k 3 </dev/null >/dev/null 2>&1; then |
|
|
|
sort -k 3 |
|
|
|
else |
|
|
|
sort +2 |
|
|
|
fi | |
|
|
|
uniq > "$nlist"S; then |
|
|
|
: |
|
|
|
else |
|
|
|
grep -v "^: " < "$nlist" > "$nlist"S |
|
|
|
@ -3528,7 +3598,7 @@ static const void *lt_preloaded_setup() { |
|
|
|
relink_command="$var=\"$var_value\"; export $var; $relink_command" |
|
|
|
fi |
|
|
|
done |
|
|
|
relink_command="cd `pwd`; $relink_command" |
|
|
|
relink_command="(cd `pwd`; $relink_command)" |
|
|
|
relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` |
|
|
|
fi |
|
|
|
|
|
|
|
@ -3548,7 +3618,7 @@ static const void *lt_preloaded_setup() { |
|
|
|
# win32 will think the script is a binary if it has |
|
|
|
# a .exe suffix, so we strip it off here. |
|
|
|
case $output in |
|
|
|
*.exe) output=`echo $output|sed 's,.exe$,,'` ;; |
|
|
|
*.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; |
|
|
|
esac |
|
|
|
# test for cygwin because mv fails w/o .exe extensions |
|
|
|
case $host in |
|
|
|
@ -3572,7 +3642,7 @@ static const void *lt_preloaded_setup() { |
|
|
|
|
|
|
|
# Sed substitution that helps us do robust quoting. It backslashifies |
|
|
|
# metacharacters that are still active within double-quoted strings. |
|
|
|
Xsed='sed -e 1s/^X//' |
|
|
|
Xsed="${SED}"' -e 1s/^X//' |
|
|
|
sed_quote_subst='$sed_quote_subst' |
|
|
|
|
|
|
|
# The HP-UX ksh and POSIX shell print the target directory to stdout |
|
|
|
@ -3610,7 +3680,7 @@ else |
|
|
|
test \"x\$thisdir\" = \"x\$file\" && thisdir=. |
|
|
|
|
|
|
|
# Follow symbolic links until we get to the real thisdir. |
|
|
|
file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` |
|
|
|
file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` |
|
|
|
while test -n \"\$file\"; do |
|
|
|
destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` |
|
|
|
|
|
|
|
@ -3623,7 +3693,7 @@ else |
|
|
|
fi |
|
|
|
|
|
|
|
file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` |
|
|
|
file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` |
|
|
|
file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` |
|
|
|
done |
|
|
|
|
|
|
|
# Try to get the absolute directory name. |
|
|
|
@ -3637,7 +3707,7 @@ else |
|
|
|
progdir=\"\$thisdir/$objdir\" |
|
|
|
|
|
|
|
if test ! -f \"\$progdir/\$program\" || \\ |
|
|
|
{ file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ |
|
|
|
{ file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ |
|
|
|
test \"X\$file\" != \"X\$progdir/\$program\"; }; then |
|
|
|
|
|
|
|
file=\"\$\$-\$program\" |
|
|
|
@ -3683,7 +3753,7 @@ else |
|
|
|
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\" |
|
|
|
|
|
|
|
# Some systems cannot cope with colon-terminated $shlibpath_var |
|
|
|
# The second colon is a workaround for a bug in BeOS R4 sed |
|
|
|
# The second colon is a workaround for a bug in BeOS R4 ${SED} |
|
|
|
$shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` |
|
|
|
|
|
|
|
export $shlibpath_var |
|
|
|
@ -3858,7 +3928,7 @@ fi\ |
|
|
|
fi |
|
|
|
done |
|
|
|
# Quote the link command for shipping. |
|
|
|
relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" |
|
|
|
relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" |
|
|
|
relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` |
|
|
|
|
|
|
|
# Only create the output if not a dry run. |
|
|
|
@ -3875,7 +3945,7 @@ fi\ |
|
|
|
case $deplib in |
|
|
|
*.la) |
|
|
|
name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` |
|
|
|
eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
|
|
|
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
|
|
|
if test -z "$libdir"; then |
|
|
|
$echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 |
|
|
|
exit 1 |
|
|
|
@ -3889,7 +3959,7 @@ fi\ |
|
|
|
newdlfiles= |
|
|
|
for lib in $dlfiles; do |
|
|
|
name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` |
|
|
|
eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
|
|
|
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
|
|
|
if test -z "$libdir"; then |
|
|
|
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
|
|
|
exit 1 |
|
|
|
@ -3900,7 +3970,7 @@ fi\ |
|
|
|
newdlprefiles= |
|
|
|
for lib in $dlprefiles; do |
|
|
|
name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` |
|
|
|
eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
|
|
|
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
|
|
|
if test -z "$libdir"; then |
|
|
|
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
|
|
|
exit 1 |
|
|
|
@ -4124,7 +4194,7 @@ relink_command=\"$relink_command\"" |
|
|
|
|
|
|
|
*.la) |
|
|
|
# Check to see that this really is a libtool archive. |
|
|
|
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/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 |
|
|
|
@ -4273,19 +4343,27 @@ relink_command=\"$relink_command\"" |
|
|
|
fi |
|
|
|
|
|
|
|
# Do a test to see if this is really a libtool program. |
|
|
|
if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
|
|
|
case $host in |
|
|
|
*cygwin*|*mingw*) |
|
|
|
wrapper=`echo $file | ${SED} -e 's,.exe$,,'` |
|
|
|
;; |
|
|
|
*) |
|
|
|
wrapper=$file |
|
|
|
;; |
|
|
|
esac |
|
|
|
if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then |
|
|
|
notinst_deplibs= |
|
|
|
relink_command= |
|
|
|
|
|
|
|
# If there is no directory component, then add one. |
|
|
|
case $file in |
|
|
|
*/* | *\\*) . $file ;; |
|
|
|
*) . ./$file ;; |
|
|
|
*/* | *\\*) . $wrapper ;; |
|
|
|
*) . ./$wrapper ;; |
|
|
|
esac |
|
|
|
|
|
|
|
# Check the variables that should have been set. |
|
|
|
if test -z "$notinst_deplibs"; then |
|
|
|
$echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 |
|
|
|
$echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
@ -4310,8 +4388,8 @@ relink_command=\"$relink_command\"" |
|
|
|
relink_command= |
|
|
|
# If there is no directory component, then add one. |
|
|
|
case $file in |
|
|
|
*/* | *\\*) . $file ;; |
|
|
|
*) . ./$file ;; |
|
|
|
*/* | *\\*) . $wrapper ;; |
|
|
|
*) . ./$wrapper ;; |
|
|
|
esac |
|
|
|
|
|
|
|
outputname= |
|
|
|
@ -4359,7 +4437,7 @@ relink_command=\"$relink_command\"" |
|
|
|
destfile=$destfile.exe |
|
|
|
;; |
|
|
|
*:*.exe) |
|
|
|
destfile=`echo $destfile | sed -e 's,.exe$,,'` |
|
|
|
destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` |
|
|
|
;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
@ -4507,7 +4585,7 @@ relink_command=\"$relink_command\"" |
|
|
|
case $file in |
|
|
|
*.la) |
|
|
|
# Check to see that this really is a libtool archive. |
|
|
|
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/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 |
|
|
|
@ -4578,7 +4656,7 @@ relink_command=\"$relink_command\"" |
|
|
|
-*) ;; |
|
|
|
*) |
|
|
|
# Do a test to see if this is really a libtool program. |
|
|
|
if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/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 ;; |
|
|
|
@ -4610,7 +4688,7 @@ relink_command=\"$relink_command\"" |
|
|
|
fi |
|
|
|
|
|
|
|
# Now prepare to actually exec the command. |
|
|
|
exec_cmd='"$cmd"$args' |
|
|
|
exec_cmd="\$cmd$args" |
|
|
|
else |
|
|
|
# Display what would be done. |
|
|
|
if test -n "$shlibpath_var"; then |
|
|
|
@ -4687,7 +4765,7 @@ relink_command=\"$relink_command\"" |
|
|
|
case $name in |
|
|
|
*.la) |
|
|
|
# Possibly a libtool archive, so verify it. |
|
|
|
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/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. |
|
|
|
@ -4742,7 +4820,7 @@ relink_command=\"$relink_command\"" |
|
|
|
*) |
|
|
|
# Do a test to see if this is a libtool program. |
|
|
|
if test $mode = clean && |
|
|
|
(sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
|
|
|
(${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
|
|
|
relink_command= |
|
|
|
. $dir/$file |
|
|
|
|
|
|
|
|