Initialize Tizen 2.3
[external/prelink.git] / testsuite / movelibs.sh
1 #!/bin/bash
2 . `dirname $0`/functions.sh
3 # This script copies needed C and C++ libraries into the test directory
4 echo 'int main() { }' > movelibs.C
5 $CXX -o movelibs movelibs.C
6 > syslib.list
7 > syslnk.list
8 for i in `LD_TRACE_PRELINKING=1 LD_WARN= LD_TRACE_LOADED_OBJECTS=1 ./movelibs \
9           | awk '$1 !~ /^\.\/movelibs/ { print $3 } '`; do
10   k=`basename $i`
11   if [ -L $i ]; then
12     j=`ls -l $i | sed 's/^.* -> //'`
13     if echo $j | grep / >/dev/null 2>&1; then
14       cp -p $i .
15       echo $k >> syslib.list
16     else
17       cp -dp $i .
18       cp -p `dirname $i`/$j .
19       echo $j >> syslib.list
20       echo $k >> syslnk.list
21     fi
22   else
23     cp -p $i .
24     echo $k >> syslib.list
25   fi
26 done
27 rm -f movelibs.C movelibs
28 pwd > prelink.conf
29 for i in `cat syslib.list`; do
30   if readelf -WS $i 2>/dev/null | grep -q .gnu.prelink_undo; then
31     $PRELINK -u $i > /dev/null 2>&1 || exit 1
32   fi
33   cp -p $i $i.orig
34 done
35 exit 77