home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / scripts / kconfig / lxdialog / check-lxdialog.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  2008-12-24  |  1.6 KB  |  83 lines

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