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