kconfig/lxdialog/check-lxdialog.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
parent 1 eeea35fbf182
child 1087 5be36a4b304d
permissions -rwxr-xr-x
Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 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