home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / scripts / kconfig / lxdialog / check-lxdialog.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  1995-11-21  |  1.6 KB  |  85 lines

  1. #!/bin/sh
  2. # Check ncurses compatibility
  3.  
  4. # What library to link
  5. ldflags()
  6. {
  7.     $cc -print-file-name=libncursesw.so | grep -q /
  8.     if [ $? -eq 0 ]; then
  9.         echo '-lncursesw'
  10.         exit
  11.     fi
  12.     $cc -print-file-name=libncurses.so | grep -q /
  13.     if [ $? -eq 0 ]; then
  14.         echo '-lncurses'
  15.         exit
  16.     fi
  17.     $cc -print-file-name=libcurses.so | grep -q /
  18.     if [ $? -eq 0 ]; then
  19.         echo '-lcurses'
  20.         exit
  21.     fi
  22.     exit 1
  23. }
  24.  
  25. # Where is ncurses.h?
  26. ccflags()
  27. {
  28.     if [ -f /usr/include/ncurses/ncurses.h ]; then
  29.         echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
  30.     elif [ -f /usr/include/ncurses/curses.h ]; then
  31.         echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
  32.     elif [ -f /usr/include/ncurses.h ]; then
  33.         echo '-DCURSES_LOC="<ncurses.h>"'
  34.     else
  35.         echo '-DCURSES_LOC="<curses.h>"'
  36.     fi
  37. }
  38.  
  39. # Temp file, try to clean up after us
  40. tmp=.lxdialog.tmp
  41. trap "rm -f $tmp" 0 1 2 3 15
  42.  
  43. # Check if we can link to ncurses
  44. check() {
  45.     echo "main() {}" | $cc -xc - -o $tmp 2> /dev/null
  46.     if [ $? != 0 ]; then
  47.         echo " *** Unable to find the ncurses libraries."          1>&2
  48.         echo " *** make menuconfig require the ncurses libraries"  1>&2
  49.         echo " *** "                                               1>&2
  50.         echo " *** Install ncurses (ncurses-devel) and try again"  1>&2
  51.         echo " *** "                                               1>&2
  52.         exit 1
  53.     fi
  54. }
  55.  
  56. usage() {
  57.     printf "Usage: $0 [-check compiler options|-header|-library]\n"
  58. }
  59.  
  60. if [ $# == 0 ]; then
  61.     usage
  62.     exit 1
  63. fi
  64.  
  65. cc=""
  66. case "$1" in
  67.     "-check")
  68.         shift
  69.         cc="$@"
  70.         check
  71.         ;;
  72.     "-ccflags")
  73.         ccflags
  74.         ;;
  75.     "-ldflags")
  76.         shift
  77.         cc="$@"
  78.         ldflags
  79.         ;;
  80.     "*")
  81.         usage
  82.         exit 1
  83.         ;;
  84. esac
  85.