X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=scripts%2Fconfig%2Flxdialog%2Fcheck-lxdialog.sh;h=5075ebf2d3b995bee04c146d942abce4515b4559;hb=2fbbe49c0ac77681c069743e84b711b2a4967dbf;hp=9a6c915e5a09ed56d0984a9a12f31ca1371fce1a;hpb=dab6938d57983c3caa89841800b9a44bdc994b1f;p=openwrt.git diff --git a/scripts/config/lxdialog/check-lxdialog.sh b/scripts/config/lxdialog/check-lxdialog.sh index 9a6c915e5a..5075ebf2d3 100644 --- a/scripts/config/lxdialog/check-lxdialog.sh +++ b/scripts/config/lxdialog/check-lxdialog.sh @@ -1,24 +1,16 @@ -#!/usr/bin/env bash +#!/bin/sh # Check ncurses compatibility # What library to link ldflags() { - for ext in so dylib; do - for dir in "" /usr/local/lib /opt/local/lib; do - $cc ${dir:+-L$dir} -print-file-name=libncursesw.$ext | grep -q / + pkg-config --libs ncursesw 2>/dev/null && exit + pkg-config --libs ncurses 2>/dev/null && exit + for ext in so a dll.a dylib ; do + for lib in ncursesw ncurses curses ; do + $cc -print-file-name=lib${lib}.${ext} | grep -q / if [ $? -eq 0 ]; then - echo $dir '-lncursesw' - exit - fi - $cc ${dir:+-L$dir} -print-file-name=libncurses.$ext | grep -q / - if [ $? -eq 0 ]; then - echo $dir '-lncurses' - exit - fi - $cc ${dir:+-L$dir} -print-file-name=libcurses.$ext | grep -q / - if [ $? -eq 0 ]; then - echo $dir '-lcurses' + echo "-l${lib}" exit fi done @@ -29,12 +21,17 @@ ldflags() # Where is ncurses.h? ccflags() { - if [ -f /usr/include/ncurses/ncurses.h ]; then + if pkg-config --cflags ncursesw 2>/dev/null; then + echo '-DCURSES_LOC="" -DNCURSES_WIDECHAR=1' + elif pkg-config --cflags ncurses 2>/dev/null; then + echo '-DCURSES_LOC=""' + elif [ -f /usr/include/ncursesw/curses.h ]; then + echo '-I/usr/include/ncursesw -DCURSES_LOC=""' + echo ' -DNCURSES_WIDECHAR=1' + elif [ -f /usr/include/ncurses/ncurses.h ]; then echo '-I/usr/include/ncurses -DCURSES_LOC=""' elif [ -f /usr/include/ncurses/curses.h ]; then - echo '-I/usr/include/ncurses -DCURSES_LOC=""' - elif [ -f /opt/local/include/ncurses/ncurses.h ]; then - echo '-I/opt/local/include -I/opt/local/include/ncurses -DCURSES_LOC=""' + echo '-I/usr/include/ncurses -DCURSES_LOC=""' elif [ -f /usr/include/ncurses.h ]; then echo '-DCURSES_LOC=""' else @@ -48,19 +45,23 @@ trap "rm -f $tmp" 0 1 2 3 15 # Check if we can link to ncurses check() { - echo "main() {}" | $cc -xc - -o $tmp 2> /dev/null + $cc -x c - -o $tmp 2>/dev/null <<'EOF' +#include CURSES_LOC +main() {} +EOF if [ $? != 0 ]; then - echo " *** Unable to find the ncurses libraries." 1>&2 - echo " *** make menuconfig require the ncurses libraries" 1>&2 - echo " *** " 1>&2 - echo " *** Install ncurses (ncurses-devel) and try again" 1>&2 - echo " *** " 1>&2 - exit 1 + echo " *** Unable to find the ncurses libraries or the" 1>&2 + echo " *** required header files." 1>&2 + echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 + echo " *** " 1>&2 + echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 + echo " *** " 1>&2 + exit 1 fi } usage() { - printf "Usage: $0 [-check compiler options|-header|-library]\n" + printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n" } if [ $# -eq 0 ]; then