| #! /bin/sh |
| set -e |
| |
| # Copyright (C) 2010 Free Software Foundation, Inc. |
| # |
| # This gensymlist.sh is free software; the author |
| # gives unlimited permission to copy and/or distribute it, |
| # with or without modifications, as long as this notice is preserved. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
| # even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| # PARTICULAR PURPOSE. |
| |
| # |
| # Example: |
| # |
| # gensyms.sh normal.module |
| # |
| |
| module=$1 |
| modname=`echo $module | sed -e 's@\.module.*$@@'` |
| |
| # Print all symbols defined by module |
| if test x@TARGET_APPLE_CC@ = x1; then |
| @NM@ -g -P -p $module | \ |
| grep -E '^[a-zA-Z0-9_]* [TDS]' | \ |
| sed "s@^\([^ ]*\).*@defined $modname \1@g" |
| else |
| @NM@ -g --defined-only -P -p $module | \ |
| sed "s@^\([^ ]*\).*@defined $modname \1@g" |
| fi |
| |
| # Print all undefined symbols used by module |
| @NM@ -u -P -p $module | sed "s@^\([^ ]*\).*@undefined $modname \1@g" |