blob: d34dfd46d902e112f8dae7278f28f71555f38746 [file] [log] [blame]
Denis Vlasenko7d219aa2006-10-05 10:17:08 +00001#!/bin/sh
2# Check ncurses compatibility
3
4# What library to link
5ldflags()
6{
Bernhard Reutner-Fischerf3d1e212008-08-27 07:39:57 +00007 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
Bernhard Reutner-Fischer1ebdacc2008-08-28 14:29:54 +000016 exit 1
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000017}
18
19# Where is ncurses.h?
20ccflags()
21{
Bernhard Reutner-Fischere91bc532010-05-21 11:47:45 +020022 if [ -f /usr/include/ncursesw/ncurses.h ]; then
23 echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>"'
24 elif [ -f /usr/include/ncursesw/curses.h ]; then
25 echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncursesw/curses.h>"'
26 elif [ -f /usr/include/ncurses/ncurses.h ]; then
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000027 echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
28 elif [ -f /usr/include/ncurses/curses.h ]; then
29 echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
30 elif [ -f /usr/include/ncurses.h ]; then
31 echo '-DCURSES_LOC="<ncurses.h>"'
32 else
33 echo '-DCURSES_LOC="<curses.h>"'
34 fi
35}
36
37# Temp file, try to clean up after us
38tmp=.lxdialog.tmp
39trap "rm -f $tmp" 0 1 2 3 15
40
41# Check if we can link to ncurses
42check() {
Bernhard Reutner-Fischerf3d1e212008-08-27 07:39:57 +000043 $cc -xc - -o $tmp 2>/dev/null <<'EOF'
44#include CURSES_LOC
45main() {}
46EOF
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000047 if [ $? != 0 ]; then
Bernhard Reutner-Fischerf3d1e212008-08-27 07:39:57 +000048 echo " *** Unable to find the ncurses libraries or the" 1>&2
49 echo " *** required header files." 1>&2
50 echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
51 echo " *** " 1>&2
52 echo " *** Install ncurses (ncurses-devel) and try again." 1>&2
53 echo " *** " 1>&2
54 exit 1
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000055 fi
56}
57
58usage() {
Bernhard Reutner-Fischeraa30efc2010-06-11 15:31:54 +020059 printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n"
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000060}
61
Bernhard Reutner-Fischerf3d1e212008-08-27 07:39:57 +000062if [ $# -eq 0 ]; then
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000063 usage
64 exit 1
65fi
66
67cc=""
68case "$1" in
69 "-check")
70 shift
71 cc="$@"
72 check
73 ;;
74 "-ccflags")
75 ccflags
76 ;;
77 "-ldflags")
78 shift
79 cc="$@"
80 ldflags
81 ;;
82 "*")
83 usage
84 exit 1
85 ;;
86esac