kconfig: factor out ncurses check in a shell script
[linux-2.6.git] / scripts / kconfig / lxdialog / check-lxdialog.sh
1 #!/bin/sh
2 # Check ncurses compatibility
3
4 # What library to link
5 ldflags()
6 {
7         if [ `uname` == SunOS ]; then
8                 echo '-lcurses'
9         else
10                 echo '-lncurses'
11         fi
12 }
13
14 # Where is ncurses.h?
15 ccflags()
16 {
17         if [ -f /usr/include/ncurses/ncurses.h ]; then
18                 echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
19         elif [ -f /usr/include/ncurses/curses.h ]; then
20                 echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
21         elif [ -f /usr/include/ncurses.h ]; then
22                 echo '-DCURSES_LOC="<ncurses.h>"'
23         else
24                 echo '-DCURSES_LOC="<curses.h>"'
25         fi
26 }
27
28 compiler=""
29 # Check if we can link to ncurses
30 check() {
31         echo "main() {}" | $compiler -xc -
32         if [ $? != 0 ]; then
33                 echo " *** Unable to find the ncurses libraries."          1>&2
34                 echo " *** make menuconfig require the ncurses libraries"  1>&2
35                 echo " *** "                                               1>&2
36                 echo " *** Install ncurses (ncurses-devel) and try again"  1>&2
37                 echo " *** "                                               1>&2
38                 exit 1
39         fi
40 }
41
42 usage() {
43         printf "Usage: $0 [-check compiler options|-header|-library]\n"
44 }
45
46 if [ $# == 0 ]; then
47         usage
48         exit 1
49 fi
50
51 case "$1" in
52         "-check")
53                 shift
54                 compiler="$@"
55                 check
56                 ;;
57         "-ccflags")
58                 ccflags
59                 ;;
60         "-ldflags")
61                 ldflags
62                 ;;
63         "*")
64                 usage
65                 exit 1
66                 ;;
67 esac