home *** CD-ROM | disk | FTP | other *** search
/ PC Extra Super CD 1998 January / PCPLUS131.iso / DJGPP / V2 / DJLSR201.ZIP / utils / whatin.sh < prev   
Encoding:
Linux/UNIX/POSIX Shell Script  |  1995-03-20  |  1.2 KB  |  69 lines

  1. #!/bin/ksh
  2.  
  3. cd d:/posix/include
  4.  
  5. if [ x"$1" = x"" ]
  6. then
  7.   echo 'Usage: whatin [-f|-a|-p|-d] <file>.h [cpp-options]'
  8.   echo ; ls -CF
  9.   echo ; ls -CF sys
  10.   exit 0
  11. fi
  12.  
  13. with=
  14. without=
  15.  
  16. case $1 in
  17.   -f)
  18.     with=-D__dj_ENFORCE_ANSI_FREESTANDING
  19.     shift
  20.     ;;
  21.   -a)
  22.     without=-D__dj_ENFORCE_ANSI_FREESTANDING
  23.     with=-D__dj_ENFORCE_ANSI_HOSTED
  24.     shift
  25.     ;;
  26.   -p)
  27.     without=-D__dj_ENFORCE_ANSI_HOSTED
  28.     with=-D_POSIX_SOURCE
  29.     shift
  30.     ;;
  31.   -d)
  32.     without=-D_POSIX_SOURCE
  33.     with=
  34.     shift
  35.     ;;
  36. esac
  37.  
  38. file=$1
  39. shift
  40. flags="-P -lang-c -I- -I. -D__dj_ENFORCE_FUNCTION_CALLS $*"
  41.  
  42. do_one()
  43. {
  44.   cpp $with $flags $1 | lessblank > with.wht
  45.   if [ "$without" ]
  46.   then
  47.     cpp $without $flags $1 | lessblank > without.wht
  48.   else
  49.     echo > without.wht
  50.   fi
  51.   diff without.wht with.wht | sed -e '/^[0-9]/ d' -e 's/^. //' > just.wht
  52.   if [ -s just.wht ]
  53.   then
  54.     echo -------------------- $1 --------------------
  55.     tabspc < just.wht | sed -f d:/posix/utils/whatin.sed
  56.   fi
  57.   rm without.wht with.wht just.wht
  58. }
  59.  
  60. if [ "$file" = "-s" ]
  61. then
  62.   for i in *.h sys/*.h
  63.   do
  64.     do_one $i
  65.   done
  66. else
  67.   do_one $file
  68. fi
  69.