3 # This script is needed in the process of generating exported
4 # symbols list out of map files on MinGW
5 # The magic generating the regular expression from the temporary
6 # mapfile containing only star and question mark symbols
8 # The script has to be called as follows:
9 # nm -gx <file>.o | addsym-mingw.sh <file-with-wildcard-symbols> <temporary-file-where-to-write-the-search-expression-to>
10 # See tg_shl.mk for an example of how to use the script
12 # Replace every * with .* and every ? with . to get awk expression
13 # Remove whitespaces and comments in expression
14 # Put ^ at the beginning of every expression
15 # Put $ at the beginning of every expression
16 # Connect them all on one line, separated by |
17 # Remove | at the end of this regular expression because the last end
18 # of line was also replaced by |
22 cat $1 |
sed 's#*#.*#g
28 s#$#$#' |
tr '\n' '|' |
sed "s#|\$##" >$2
30 # Please note that the awk expression expects to get the output of 'nm -gP'!
31 awk -v SYMBOLSREGEXP
="`cat $2`" '
32 match (substr ($1,2) ,SYMBOLSREGEXP) > 0 { print substr ($1,2) ";" }'