source: MondoRescue/branches/3.3/mindi-busybox/scripts/kconfig/lxdialog/check-lxdialog.sh@ 3901

Last change on this file since 3901 was 3621, checked in by Bruno Cornec, 10 years ago

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.0 KB
Line 
1#!/bin/sh
2# Check ncurses compatibility
3
4# What library to link
5ldflags()
6{
7 pkg-config --libs ncursesw 2>/dev/null && exit
8 pkg-config --libs ncurses 2>/dev/null && exit
9 for ext in so a dll.a dylib ; do
10 for lib in ncursesw ncurses curses ; do
11 $cc -print-file-name=lib${lib}.${ext} | grep -q /
12 if [ $? -eq 0 ]; then
13 echo "-l${lib}"
14 exit
15 fi
16 done
17 done
18 exit 1
19}
20
21# Where is ncurses.h?
22ccflags()
23{
24 if pkg-config --cflags ncursesw 2>/dev/null; then
25 echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
26 elif pkg-config --cflags ncurses 2>/dev/null; then
27 echo '-DCURSES_LOC="<ncurses.h>"'
28 elif [ -f /usr/include/ncursesw/curses.h ]; then
29 echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"'
30 echo ' -DNCURSES_WIDECHAR=1'
31 elif [ -f /usr/include/ncurses/ncurses.h ]; then
32 echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
33 elif [ -f /usr/include/ncurses/curses.h ]; then
34 echo '-I/usr/include/ncurses -DCURSES_LOC="<curses.h>"'
35 elif [ -f /usr/include/ncurses.h ]; then
36 echo '-DCURSES_LOC="<ncurses.h>"'
37 else
38 echo '-DCURSES_LOC="<curses.h>"'
39 fi
40}
41
42# Temp file, try to clean up after us
43tmp=.lxdialog.tmp
44trap "rm -f $tmp" 0 1 2 3 15
45
46# Check if we can link to ncurses
47check() {
48 $cc -x c - -o $tmp 2>/dev/null <<'EOF'
49#include CURSES_LOC
50main() {}
51EOF
52 if [ $? != 0 ]; then
53 echo " *** Unable to find the ncurses libraries or the" 1>&2
54 echo " *** required header files." 1>&2
55 echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
56 echo " *** " 1>&2
57 echo " *** Install ncurses (ncurses-devel) and try again." 1>&2
58 echo " *** " 1>&2
59 exit 1
60 fi
61}
62
63usage() {
64 printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n"
65}
66
67if [ $# -eq 0 ]; then
68 usage
69 exit 1
70fi
71
72cc=""
73case "$1" in
74 "-check")
75 shift
76 cc="$@"
77 check
78 ;;
79 "-ccflags")
80 ccflags
81 ;;
82 "-ldflags")
83 shift
84 cc="$@"
85 ldflags
86 ;;
87 "*")
88 usage
89 exit 1
90 ;;
91esac
Note: See TracBrowser for help on using the repository browser.