Commit | Line | Data |
---|---|---|
ae215b14 SR |
1 | #!/bin/sh |
2 | # Check ncurses compatibility | |
3 | ||
4 | # What library to link | |
5 | ldflags() | |
6 | { | |
3835f821 | 7 | $cc -print-file-name=libncursesw.so | grep -q / |
60f33b80 SR |
8 | if [ $? -eq 0 ]; then |
9 | echo '-lncursesw' | |
10 | exit | |
11 | fi | |
3835f821 | 12 | $cc -print-file-name=libncurses.so | grep -q / |
60f33b80 | 13 | if [ $? -eq 0 ]; then |
ae215b14 | 14 | echo '-lncurses' |
60f33b80 | 15 | exit |
ae215b14 | 16 | fi |
3835f821 | 17 | $cc -print-file-name=libcurses.so | grep -q / |
60f33b80 SR |
18 | if [ $? -eq 0 ]; then |
19 | echo '-lcurses' | |
20 | exit | |
21 | fi | |
22 | exit 1 | |
ae215b14 SR |
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 | ||
3835f821 SR |
39 | # Temp file, try to clean up after us |
40 | tmp=.lxdialog.tmp | |
41 | trap "rm -f $tmp" 0 1 2 3 15 | |
42 | ||
ae215b14 SR |
43 | # Check if we can link to ncurses |
44 | check() { | |
3835f821 | 45 | echo "main() {}" | $cc -xc - -o $tmp 2> /dev/null |
ae215b14 SR |
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 | ||
3835f821 | 65 | cc="" |
ae215b14 SR |
66 | case "$1" in |
67 | "-check") | |
68 | shift | |
60f33b80 | 69 | cc="$@" |
ae215b14 SR |
70 | check |
71 | ;; | |
72 | "-ccflags") | |
73 | ccflags | |
74 | ;; | |
75 | "-ldflags") | |
60f33b80 SR |
76 | shift |
77 | cc="$@" | |
ae215b14 SR |
78 | ldflags |
79 | ;; | |
80 | "*") | |
81 | usage | |
82 | exit 1 | |
83 | ;; | |
84 | esac |