author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Wed Jul 07 22:33:49 2010 +0200 (2010-07-07) | |
changeset 2004 | 5d6d3c28a658 |
parent 1229 | 8864e5255c2d |
child 2125 | 4009fc9c47d5 |
permissions | -rw-r--r-- |
yann@1 | 1 |
#!/bin/sh |
yann@1 | 2 |
# Check ncurses compatibility |
yann@1 | 3 |
|
titus@1973 | 4 |
OS=`uname` |
titus@1973 | 5 |
|
titus@1973 | 6 |
# Under MACOS make sure that the macports-installed version is used. |
titus@1973 | 7 |
case "$OS" in |
titus@1973 | 8 |
Darwin) BASEDIR="/opt/local";; |
titus@1973 | 9 |
*) BASEDIR="/usr";; |
titus@1973 | 10 |
esac |
titus@1973 | 11 |
|
titus@1973 | 12 |
INCLUDEPATH="${BASEDIR}/include" |
titus@1973 | 13 |
LIBPATH="${BASEDIR}/lib" |
titus@1973 | 14 |
|
yann@1 | 15 |
# What library to link |
yann@1 | 16 |
ldflags() |
yann@1 | 17 |
{ |
yann@1087 | 18 |
for ext in so a dylib ; do |
yann@1087 | 19 |
for lib in ncursesw ncurses curses ; do |
titus@1973 | 20 |
if [ -f "${LIBPATH}/lib${lib}.${ext}" ]; then |
titus@1973 | 21 |
echo "-L${LIBPATH} -l${lib}" |
yann@1087 | 22 |
exit |
yann@1087 | 23 |
fi |
yann@1087 | 24 |
done |
yann@1087 | 25 |
done |
yann@1 | 26 |
exit 1 |
yann@1 | 27 |
} |
yann@1 | 28 |
|
yann@1 | 29 |
# Where is ncurses.h? |
yann@1 | 30 |
ccflags() |
yann@1 | 31 |
{ |
titus@1973 | 32 |
if [ -f "${INCLUDEPATH}/ncursesw/ncurses.h" ]; then |
titus@1973 | 33 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<ncursesw/ncurses.h>\"" |
titus@1973 | 34 |
elif [ -f "${INCLUDEPATH}/ncurses/ncurses.h" ]; then |
titus@1973 | 35 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<ncurses/ncurses.h>\"" |
titus@1973 | 36 |
elif [ -f "${INCLUDEPATH}/ncursesw/curses.h" ]; then |
titus@1973 | 37 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<ncursesw/curses.h>\"" |
titus@1973 | 38 |
elif [ -f "${INCLUDEPATH}/ncurses/curses.h" ]; then |
titus@1973 | 39 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<ncurses/curses.h>\"" |
titus@1973 | 40 |
elif [ -f "${INCLUDEPATH}/ncurses.h" ]; then |
titus@1973 | 41 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<ncurses.h>\"" |
titus@1973 | 42 |
elif [ -f "${INCLUDEPATH}/curses.h" ]; then |
titus@1973 | 43 |
echo "-I${INCLUDEPATH} \"-DCURSES_LOC=<curses.h>\"" |
yann@1 | 44 |
else |
titus@1973 | 45 |
exit 1 |
yann@1 | 46 |
fi |
yann@1 | 47 |
} |
yann@1 | 48 |
|
yann@1 | 49 |
# Temp file, try to clean up after us |
yann@1 | 50 |
tmp=.lxdialog.tmp |
yann@1 | 51 |
trap "rm -f $tmp" 0 1 2 3 15 |
yann@1 | 52 |
|
yann@1 | 53 |
# Check if we can link to ncurses |
yann@1 | 54 |
check() { |
titus@1973 | 55 |
IF=`echo $(ccflags) | sed -e 's/"//g'` |
titus@1973 | 56 |
$cc $IF $(ldflags) -xc - -o $tmp 2>/dev/null <<'EOF' |
yann@1087 | 57 |
#include CURSES_LOC |
yann@1087 | 58 |
main() {} |
yann@1087 | 59 |
EOF |
yann@1087 | 60 |
if [ $? != 0 ]; then |
yann@1087 | 61 |
echo " *** Unable to find the ncurses libraries or the" 1>&2 |
yann@1087 | 62 |
echo " *** required header files." 1>&2 |
yann@1087 | 63 |
echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 |
yann@1087 | 64 |
echo " *** " 1>&2 |
yann@1087 | 65 |
echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 |
yann@1087 | 66 |
echo " *** " 1>&2 |
yann@1087 | 67 |
exit 1 |
yann@1 | 68 |
fi |
yann@1 | 69 |
} |
yann@1 | 70 |
|
yann@1 | 71 |
usage() { |
yann@1229 | 72 |
printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n" |
yann@1 | 73 |
} |
yann@1 | 74 |
|
yann@706 | 75 |
if [ $# -eq 0 ]; then |
yann@1 | 76 |
usage |
yann@1 | 77 |
exit 1 |
yann@1 | 78 |
fi |
yann@1 | 79 |
|
yann@1 | 80 |
cc="" |
yann@1 | 81 |
case "$1" in |
yann@1 | 82 |
"-check") |
yann@1 | 83 |
shift |
yann@1 | 84 |
cc="$@" |
yann@1 | 85 |
check |
yann@1 | 86 |
;; |
yann@1 | 87 |
"-ccflags") |
yann@1 | 88 |
ccflags |
yann@1 | 89 |
;; |
yann@1 | 90 |
"-ldflags") |
yann@1 | 91 |
shift |
yann@1 | 92 |
cc="$@" |
yann@1 | 93 |
ldflags |
yann@1 | 94 |
;; |
yann@1 | 95 |
"*") |
yann@1 | 96 |
usage |
yann@1 | 97 |
exit 1 |
yann@1 | 98 |
;; |
yann@1 | 99 |
esac |