kconfig/lxdialog/check-lxdialog.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Oct 10 14:30:44 2008 +0000 (2008-10-10)
changeset 916 68af6b83ff7e
parent 1 eeea35fbf182
child 1087 5be36a4b304d
permissions -rwxr-xr-x
Simplify the Tools and Debug facilities menu entries:
- each config file no longer have to define their own 'menuconfig foo - if FOO - endif' gym
- each build script no longer has to say wether they are enabled
- generation of the 'menuconfig' entries for the Tools and Debug facilities now uses the same code
Some re-ordering of the code to be consistent with the steps ordering (tools, then debug).

/trunk/kconfig/kconfig.mk | 66 43 23 0 +++++++++++++++++++++++-------------
/trunk/scripts/build/debug.sh | 14 9 5 0 +++++---
/trunk/scripts/build/tools/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/tools/100-libelf.sh | 3 0 3 0 --
/trunk/scripts/build/tools/200-sstrip.sh | 2 0 2 0 -
/trunk/scripts/build/debug/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/debug/100-dmalloc.sh | 3 0 3 0 --
/trunk/scripts/build/debug/400-ltrace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/300-gdb.sh | 3 0 3 0 --
/trunk/scripts/build/debug/500-strace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/200-duma.sh | 3 0 3 0 --
/trunk/scripts/build/tools.sh | 14 9 5 0 +++++---
/trunk/scripts/crosstool.sh | 2 1 1 0
/trunk/config/debug/ltrace.in | 14 3 11 0 ++------
/trunk/config/debug/dmalloc.in | 9 1 8 0 +----
/trunk/config/debug/gdb.in | 9 1 8 0 +----
/trunk/config/debug/strace.in | 10 1 9 0 -----
/trunk/config/debug/duma.in | 10 1 9 0 -----
/trunk/config/tools/libelf.in | 12 2 10 0 +------
/trunk/config/tools/sstrip.in | 10 1 9 0 -----
/trunk/config/config.in | 4 2 2 0 +-
21 files changed, 74 insertions(+), 134 deletions(-)
     1 #!/bin/sh
     2 # Check ncurses compatibility
     3 
     4 # What library to link
     5 ldflags()
     6 {
     7 	$cc -print-file-name=libncursesw.so | grep -q /
     8 	if [ $? -eq 0 ]; then
     9 		echo '-lncursesw'
    10 		exit
    11 	fi
    12 	$cc -print-file-name=libncurses.so | grep -q /
    13 	if [ $? -eq 0 ]; then
    14 		echo '-lncurses'
    15 		exit
    16 	fi
    17 	$cc -print-file-name=libcurses.so | grep -q /
    18 	if [ $? -eq 0 ]; then
    19 		echo '-lcurses'
    20 		exit
    21 	fi
    22 	exit 1
    23 }
    24 
    25 # Where is ncurses.h?
    26 ccflags()
    27 {
    28 	if [ -f /usr/include/ncurses/ncurses.h ]; then
    29 		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
    30 	elif [ -f /usr/include/ncurses/curses.h ]; then
    31 		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
    32 	elif [ -f /usr/include/ncurses.h ]; then
    33 		echo '-DCURSES_LOC="<ncurses.h>"'
    34 	else
    35 		echo '-DCURSES_LOC="<curses.h>"'
    36 	fi
    37 }
    38 
    39 # Temp file, try to clean up after us
    40 tmp=.lxdialog.tmp
    41 trap "rm -f $tmp" 0 1 2 3 15
    42 
    43 # Check if we can link to ncurses
    44 check() {
    45 	echo "main() {}" | $cc -xc - -o $tmp 2> /dev/null
    46 	if [ $? -ne 0 ]; then
    47 		echo " *** Unable to find the ncurses libraries."          1>&2
    48 		echo " *** make menuconfig require the ncurses libraries"  1>&2
    49 		echo " *** "                                               1>&2
    50 		echo " *** Install ncurses (ncurses-devel) and try again"  1>&2
    51 		echo " *** "                                               1>&2
    52 		exit 1
    53 	fi
    54 }
    55 
    56 usage() {
    57 	printf "Usage: $0 [-check compiler options|-header|-library]\n"
    58 }
    59 
    60 if [ $# -eq 0 ]; then
    61 	usage
    62 	exit 1
    63 fi
    64 
    65 cc=""
    66 case "$1" in
    67 	"-check")
    68 		shift
    69 		cc="$@"
    70 		check
    71 		;;
    72 	"-ccflags")
    73 		ccflags
    74 		;;
    75 	"-ldflags")
    76 		shift
    77 		cc="$@"
    78 		ldflags
    79 		;;
    80 	"*")
    81 		usage
    82 		exit 1
    83 		;;
    84 esac