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