adjust scripts for reuse
[ia32rtools.git] / run_imp.sh
1 #!/bin/sh
2
3 grep 'extrn ' $1 | awk '{print $2}' | awk -F: '{print $1}' > $2_implist
4 extra_libs=`ls *.lib 2> /dev/null`
5
6 echo ".data" > $2
7 echo ".align 4" >> $2
8
9 cat $2_implist | while read i; do
10   rm -f $2_tmpsym
11   case $i in
12   __imp_*)
13     si=`echo $i | cut -c 7-`
14     ;;
15   *)
16     si=$i
17     ;;
18   esac
19
20   grep "\<_$si\>" /usr/i586-mingw32msvc/lib/lib* $extra_libs | awk '{print $3}' | \
21     while read f; do
22       sym=`i586-mingw32msvc-nm $f | grep "\<_$si\>" | grep ' T ' | awk '{print $3}'`
23       if test -n "$sym"; then
24         echo $sym > $2_tmpsym
25         break
26       fi
27     done
28   sym=`cat $2_tmpsym`
29   if test -z "$sym"; then
30     echo "no file/sym for $i, lf $f"
31     exit 1
32   fi
33
34   echo ".globl $i" >> $2
35   echo "$i:" >> $2
36   echo "  .long $sym" >> $2
37   echo >> $2
38 done