kconfig/lxdialog/check-lxdialog.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 21 22:00:52 2008 +0000 (2008-05-21)
changeset 527 4ac12179ef23
child 706 607277e3cdab
permissions -rwxr-xr-x
Introduce target-specific LDFLAGS, the same way we have CFLAGS for the target.
It seems to be helping gcc somewhat into telling the correct endianness to ld that sticks with little endian even when the target is big (eg armeb-unknown-linux-uclibcgnueabi).
There's still work to do, especially finish the gcc part that is not in this commit.

/trunk/scripts/functions | 9 7 2 0 +++++++--
1 file changed, 7 insertions(+), 2 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 [ $? != 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 [ $# == 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