]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/listused.sh
ncurses 6.4 - patch 20240420
[ncurses.git] / test / listused.sh
index 1c3fe0a64d5130a908c09ce2ffb19c887923458c..45653ebd68b29f76fb3f4bd1caaffaff261400dc 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/sh
 ##############################################################################
-# Copyright (c) 2003-2006,2010 Free Software Foundation, Inc.                #
+# Copyright 2020-2021,2022 Thomas E. Dickey                                  #
+# Copyright 2003-2006,2010 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: listused.sh,v 1.8 2010/09/18 15:15:15 tom Exp $
+# $Id: listused.sh,v 1.12 2022/07/16 16:33:38 tom Exp $
 # A very simple script to list all entrypoints that are used by either a test
 # program, or within the libraries.  This relies on the output format of 'nm',
 # and assumes that the libraries are configured with TRACE defined, and using
 # these options:
 #      --disable-macros
+#      --enable-opaque-curses
 #      --enable-sp-funcs
 #      --enable-widec
+#      --without-gpm
 # Static libraries are used, to provide some filtering based on internal usage
 # of the different symbols.
 
@@ -64,7 +67,7 @@ do
                ;;
        *)
                NAME=../objects/${name}.o
-               if test -f $NAME
+               if test -f "$NAME"
                then
                        PROGS="$PROGS $NAME"
                fi
@@ -75,19 +78,19 @@ done
 # For each library -
 for lib in ../lib/*.a
 do
-       LIB=`basename $lib .a`
+       LIB=`basename "$lib" .a`
        case $LIB in
        *_*|*+*)
                continue
                ;;
        esac
 
-       tmp=`echo $LIB|sed -e 's/w$//'`
+       tmp=`echo "$LIB"|sed -e 's/w$//'`
        echo
        echo "${tmp}:"
-       echo $tmp |sed -e 's/./-/g'
+       echo "$tmp" |sed -e 's/./-/g'
        # Construct a list of public externals provided by the library.
-       WANT=`nm $NM_OPTS $lib |\
+       WANT=`nm $NM_OPTS "$lib" |\
                sed     -e 's/^[^ ]*//' \
                        -e 's/^ *//' \
                        -e '/^[ a-z] /d' \
@@ -110,7 +113,7 @@ do
                                tags=$prog
                                ;;
                        *)
-                               TEST=`nm $NM_OPTS $prog |\
+                               TEST=`nm $NM_OPTS "$prog" |\
                                        sed     -e 's/^[^ ]*//' \
                                                -e 's/^ *//' \
                                                -e '/^[ a-z] /d' \
@@ -122,7 +125,7 @@ do
                                                -e '/^[^_]/d'`
                                if test -n "$TEST"
                                then
-                                       have=`basename $prog .o`
+                                       have=`basename "$prog" .o`
                                        if test -n "$HAVE"
                                        then
                                                if test "$last" = "$tags"
@@ -144,13 +147,13 @@ do
                if test -z "$HAVE"
                then
                        for tmp in ../lib/*.a
-                       do 
+                       do
                                case $tmp in
                                *_*|*+*)
                                        continue
                                        ;;
                                esac
-                               TEST=`nm $NM_OPTS $tmp |\
+                               TEST=`nm $NM_OPTS "$tmp" |\
                                        sed     -e 's/^[^ ]*//' \
                                                -e 's/^ *//' \
                                                -e '/^[ a-z] /d' \
@@ -163,20 +166,20 @@ do
                                                -e '/^[^_]/d'`
                                if test -n "$TEST"
                                then
-                                       tmp=`basename $tmp .a |sed -e 's/w$//'`
-                                       HAVE=`echo $tmp | sed -e 's/lib/lib: /'`
+                                       tmp=`basename "$tmp" .a |sed -e 's/w$//'`
+                                       HAVE=`echo "$tmp" | sed -e 's/lib/lib: /'`
                                        break
                                fi
                        done
                fi
                test -z "$HAVE" && HAVE="-"
-               lenn=`expr 39 - length $name`
-               lenn=`expr $lenn / 8`
+               lenn=`expr 39 - length "$name"`
+               lenn=`expr "$lenn" / 8`
                tabs=
-               while test $lenn != 0
+               while test "$lenn" != 0
                do
                        tabs="${tabs}   "
-                       lenn=`expr $lenn - 1`
+                       lenn=`expr "$lenn" - 1`
                done
                echo "${name}${tabs}${HAVE}"
        done