Lines 430-439
Link Here
|
430 |
set_trap "$LLIST.3_rebuild" |
430 |
set_trap "$LLIST.3_rebuild" |
431 |
LD_MASK="\\( $(echo "$LD_LIBRARY_MASK" | sed 's/\./\\./g;s/ / \\| /g') \\)" |
431 |
LD_MASK="\\( $(echo "$LD_LIBRARY_MASK" | sed 's/\./\\./g;s/ / \\| /g') \\)" |
432 |
echo -n >$LLIST.3_rebuild |
432 |
echo -n >$LLIST.3_rebuild |
|
|
433 |
echo -n >$LLIST.3_unresolved |
433 |
cat $LIST.1_files | egrep -v '*\.la$' | while read FILE ; do |
434 |
cat $LIST.1_files | egrep -v '*\.la$' | while read FILE ; do |
434 |
# Note: double checking seems to be faster than single |
435 |
# Note: double checking seems to be faster than single |
435 |
# with complete path (special add ons are rare). |
436 |
# with complete path (special add ons are rare). |
436 |
if ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then |
437 |
if ldd -d -r "$FILE" 2>>$LLIST.3_unresolved | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then |
437 |
if $SEARCH_BROKEN && $FULL_LD_PATH ; then |
438 |
if $SEARCH_BROKEN && $FULL_LD_PATH ; then |
438 |
if LD_LIBRARY_PATH="$COMPLETE_LD_LIBRARY_PATH" ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then |
439 |
if LD_LIBRARY_PATH="$COMPLETE_LD_LIBRARY_PATH" ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then |
439 |
# FIX: I hate duplicating code |
440 |
# FIX: I hate duplicating code |
Lines 480-485
Link Here
|
480 |
fi |
481 |
fi |
481 |
done |
482 |
done |
482 |
if $SEARCH_BROKEN ; then |
483 |
if $SEARCH_BROKEN ; then |
|
|
484 |
# Look for unresolved symbols |
485 |
for FILE in $(grep "undefined symbol" $LLIST.3_unresolved | awk '{print $NF}' | sed 's/[()]//g' | sort -u) ; do |
486 |
echo "obj $FILE" >>$LLIST.3_rebuild |
487 |
echo_v " broken $FILE (unresolved symbols)" |
488 |
done |
489 |
# Look for broken .la files |
483 |
cat $LIST.1_files | egrep '*\.la$' | while read FILE ; do |
490 |
cat $LIST.1_files | egrep '*\.la$' | while read FILE ; do |
484 |
for depend in $(grep '^dependency_libs' $FILE | awk -F'=' '{print $2}' | sed "s/'//g") ; do |
491 |
for depend in $(grep '^dependency_libs' $FILE | awk -F'=' '{print $2}' | sed "s/'//g") ; do |
485 |
[ ${depend:0:1} != '/' ] && continue |
492 |
[ ${depend:0:1} != '/' ] && continue |