summaryrefslogtreecommitdiff
path: root/scripts/config/lxdialog/check-lxdialog.sh
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-13 20:51:49 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-13 20:51:49 +0000
commitf52d66ff00b24111f87c274d3d7085ef2e1d27b1 (patch)
treed993cf48b4d89166701fe2f33976389d7634235d /scripts/config/lxdialog/check-lxdialog.sh
parent725611a466f2edf12f809d22339b22223af4afe7 (diff)
parent0c0df9eb082d5ff83d0f22f6e00bf580729fb49d (diff)
finally move buildroot-ng to trunk
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5059 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'scripts/config/lxdialog/check-lxdialog.sh')
-rw-r--r--scripts/config/lxdialog/check-lxdialog.sh90
1 files changed, 90 insertions, 0 deletions
diff --git a/scripts/config/lxdialog/check-lxdialog.sh b/scripts/config/lxdialog/check-lxdialog.sh
new file mode 100644
index 0000000000..275e395422
--- /dev/null
+++ b/scripts/config/lxdialog/check-lxdialog.sh
@@ -0,0 +1,90 @@
+#!/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 /
+ 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'
+ exit
+ fi
+ done
+ done
+ exit 1
+}
+
+# Where is ncurses.h?
+ccflags()
+{
+ if [ -f /usr/include/ncurses/ncurses.h ]; then
+ echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
+ elif [ -f /usr/include/ncurses/curses.h ]; then
+ echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
+ elif [ -f /opt/local/include/ncurses/ncurses.h ]; then
+ echo '-I/opt/local/include/ncurses -DCURSES_LOC="<ncurses/ncurses.h>"'
+ elif [ -f /usr/include/ncurses.h ]; then
+ echo '-DCURSES_LOC="<ncurses.h>"'
+ else
+ echo '-DCURSES_LOC="<curses.h>"'
+ fi
+}
+
+# Temp file, try to clean up after us
+tmp=.lxdialog.tmp
+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
+ 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
+ fi
+}
+
+usage() {
+ printf "Usage: $0 [-check compiler options|-header|-library]\n"
+}
+
+if [ $# -eq 0 ]; then
+ usage
+ exit 1
+fi
+
+cc=""
+case "$1" in
+ "-check")
+ shift
+ cc="$@"
+ check
+ ;;
+ "-ccflags")
+ ccflags
+ ;;
+ "-ldflags")
+ shift
+ cc="$@"
+ ldflags
+ ;;
+ "*")
+ usage
+ exit 1
+ ;;
+esac