| #!/bin/sh |
| # |
| # mkldexport |
| # create an AIX exports file from an object file |
| # |
| # $PostgreSQL: pgsql/src/backend/port/aix/mkldexport.sh,v 1.9 2006/03/11 04:38:31 momjian Exp $ |
| # |
| # Usage: |
| # mkldexport objectfile [location] |
| # where |
| # objectfile is the current location of the object file. |
| # location is the eventual (installed) location of the |
| # object file (if different from the current |
| # working directory). |
| # |
| # [This file comes from the Postgres 4.2 distribution. - ay 7/95] |
| # |
| # Header: /usr/local/devel/postgres/src/tools/mkldexport/RCS/mkldexport.sh,v 1.2 1994/03/13 04:59:12 aoki Exp |
| # |
| |
| # setting this to nm -B might be better |
| # ... due to changes in AIX 4.x ... |
| # ... let us search in different directories - Gerhard Reithofer |
| if [ -x /usr/ucb/nm ] |
| then NM=/usr/ucb/nm |
| elif [ -x /usr/bin/nm ] |
| then NM=/usr/bin/nm |
| elif [ -x /usr/ccs/bin/nm ] |
| then NM=/usr/ccs/bin/nm |
| elif [ -x /usr/usg/bin/nm ] |
| then NM=/usr/usg/bin/nm |
| else echo "Fatal error: cannot find `nm' ... please check your installation." |
| exit 1 |
| fi |
| |
| CMDNAME=`basename $0` |
| if [ -z "$1" ]; then |
| echo "Usage: $CMDNAME object [location]" |
| exit 1 |
| fi |
| OBJNAME=`basename $1` |
| if [ "`basename $OBJNAME`" != "`basename $OBJNAME .o`" ]; then |
| OBJNAME=`basename $OBJNAME .o`.so |
| fi |
| if [ -z "$2" ]; then |
| echo '#!' |
| else |
| if [ "$2" = "." ]; then |
| # for the base executable (AIX 4.2 and up) |
| echo '#! .' |
| else |
| echo '#!' $2 |
| fi |
| fi |
| $NM -BCg $1 | \ |
| egrep ' [TDB] ' | \ |
| sed -e 's/.* //' | \ |
| egrep -v '\$' | \ |
| sed -e 's/^[.]//' | \ |
| sort | \ |
| uniq |