ncurses 6.2 - patch 20200523
[ncurses.git] / misc / tdlint
1 #!/bin/sh
2 ##############################################################################
3 # Copyright 2020 Thomas E. Dickey                                            #
4 # Copyright 1998,2000 Free Software Foundation, Inc.                         #
5 #                                                                            #
6 # Permission is hereby granted, free of charge, to any person obtaining a    #
7 # copy of this software and associated documentation files (the "Software"), #
8 # to deal in the Software without restriction, including without limitation  #
9 # the rights to use, copy, modify, merge, publish, distribute, distribute    #
10 # with modifications, sublicense, and/or sell copies of the Software, and to #
11 # permit persons to whom the Software is furnished to do so, subject to the  #
12 # following conditions:                                                      #
13 #                                                                            #
14 # The above copyright notice and this permission notice shall be included in #
15 # all copies or substantial portions of the Software.                        #
16 #                                                                            #
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
20 # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
22 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
23 # DEALINGS IN THE SOFTWARE.                                                  #
24 #                                                                            #
25 # Except as contained in this notice, the name(s) of the above copyright     #
26 # holders shall not be used in advertising or otherwise to promote the sale, #
27 # use or other dealings in this Software without prior written               #
28 # authorization.                                                             #
29 ##############################################################################
30 #
31 # Author: Thomas E. Dickey <dickey@clark.net> 1996
32 #
33 # $Id: tdlint,v 1.7 2020/02/02 23:34:34 tom Exp $
34 #
35 # Lint-script that allows user's own lint libraries, in addition to the ones
36 # installed in the system.
37 #
38 OPT=""
39 DIRS=""
40 LIBS=""
41 FILES=""
42 ARCH=`uname -s`
43 if test -z "$ARCH" ; then
44         echo '? uname not found'
45         exit 1
46 else
47         case $ARCH in
48         AIX)    set - $* -Nn4000
49                 ;;
50         IRIX)   set - $* -n -lc
51                 ;;
52         FreeBSD) set - $* -g -p -u -v -z
53                 ;;
54         SunOS)
55                 case `uname -r` in
56                 5.*)    ARCH=Solaris
57                         set - $* -n -lc
58                         ;;
59                 esac
60                 ;;
61         esac
62 fi
63 # LIBDIR=$HOME/lib/$ARCH/lint ;export LIBDIR
64 for p in $HOME/lib/$ARCH/lint /usr/lib/lint /usr/lib
65 do
66         if [ -d $p ]
67         then
68                 DIRS="$DIRS $p"
69         fi
70 done
71 #
72 while [ $# != 0 ]
73 do
74         case $1 in
75         -D*\"*) ;;
76         -L*)
77                 DIRS="`echo $1|sed -e 's/^-L//'` $DIRS"
78                 ;;
79         -l*)
80                 lib="llib-l`echo $1 | sed -e 's/^-l//'`.ln"
81                 found=no
82                 for p in $DIRS
83                 do
84                         echo -n testing $p/$lib
85                         if [ -f $p/$lib ]
86                         then
87                                 LIBS="$LIBS $p/$lib"
88                                 echo " (ok)"
89                                 found=yes
90                                 break
91                         fi
92                         echo
93                 done
94                 if [ $found = no ]
95                 then
96                         echo "ignored library $1"
97                 fi
98                 ;;
99         -n)     if [ -z "$OPT" ]
100                 then
101                         OPT="-I."
102                 fi
103                 OPT="$OPT $1"
104                 ;;
105         -*)     OPT="$OPT $1"
106                 ;;
107         *)
108                 FILES="$FILES $1"
109                 ;;
110         esac
111         shift
112 done
113 #
114 eval lint $OPT $FILES $LIBS