yann@1: #!/bin/sh yann@1: # Check ncurses compatibility yann@1: yann@1: # What library to link yann@1: ldflags() yann@1: { yann@1087: for ext in so a dylib ; do yann@1087: for lib in ncursesw ncurses curses ; do yann@2125: $cc -print-file-name=lib${lib}.${ext} | grep -q / yann@2125: if [ $? -eq 0 ]; then yann@2125: echo "-l${lib}" yann@1087: exit yann@1087: fi yann@1087: done yann@1087: done yann@1: exit 1 yann@1: } yann@1: yann@1: # Where is ncurses.h? yann@1: ccflags() yann@1: { yann@2125: if [ -f /usr/include/ncurses/ncurses.h ]; then yann@2125: echo '-I/usr/include/ncurses -DCURSES_LOC=""' yann@2125: elif [ -f /usr/include/ncurses/curses.h ]; then yann@2125: echo '-I/usr/include/ncurses -DCURSES_LOC=""' yann@2125: elif [ -f /usr/include/ncurses.h ]; then yann@2125: echo '-DCURSES_LOC=""' yann@1: else yann@2125: echo '-DCURSES_LOC=""' yann@1: fi yann@1: } yann@1: yann@1: # Temp file, try to clean up after us yann@1: tmp=.lxdialog.tmp yann@1: trap "rm -f $tmp" 0 1 2 3 15 yann@1: yann@1: # Check if we can link to ncurses yann@1: check() { yann@2125: $cc -xc - -o $tmp 2>/dev/null <<'EOF' yann@1087: #include CURSES_LOC yann@1087: main() {} yann@1087: EOF yann@1087: if [ $? != 0 ]; then yann@1087: echo " *** Unable to find the ncurses libraries or the" 1>&2 yann@1087: echo " *** required header files." 1>&2 yann@1087: echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 yann@1087: echo " *** " 1>&2 yann@1087: echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 yann@1087: echo " *** " 1>&2 yann@1087: exit 1 yann@1: fi yann@1: } yann@1: yann@1: usage() { yann@1229: printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n" yann@1: } yann@1: yann@706: if [ $# -eq 0 ]; then yann@1: usage yann@1: exit 1 yann@1: fi yann@1: yann@1: cc="" yann@1: case "$1" in yann@1: "-check") yann@1: shift yann@1: cc="$@" yann@1: check yann@1: ;; yann@1: "-ccflags") yann@1: ccflags yann@1: ;; yann@1: "-ldflags") yann@1: shift yann@1: cc="$@" yann@1: ldflags yann@1: ;; yann@1: "*") yann@1: usage yann@1: exit 1 yann@1: ;; yann@1: esac