kconfig/lxdialog/check-lxdialog.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:26:53 2011 +0200 (2011-08-02)
changeset 2592 4908eb2b6f17
parent 2125 4009fc9c47d5
permissions -rw-r--r--
scripts/functions: cvs retrieval first tries the mirror for tarballs

The cvs download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via cvs.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard cvs retrieval will kick in.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 #!/bin/sh
     2 # Check ncurses compatibility
     3 
     4 # What library to link
     5 ldflags()
     6 {
     7 	for ext in so a dylib ; do
     8 		for lib in ncursesw ncurses curses ; do
     9 			$cc -print-file-name=lib${lib}.${ext} | grep -q /
    10 			if [ $? -eq 0 ]; then
    11 				echo "-l${lib}"
    12 				exit
    13 			fi
    14 		done
    15 	done
    16 	exit 1
    17 }
    18 
    19 # Where is ncurses.h?
    20 ccflags()
    21 {
    22 	if [ -f /usr/include/ncurses/ncurses.h ]; then
    23 		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
    24 	elif [ -f /usr/include/ncurses/curses.h ]; then
    25 		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
    26 	elif [ -f /usr/include/ncursesw/curses.h ]; then
    27 		echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncursesw/curses.h>"'
    28 	elif [ -f /usr/include/ncurses.h ]; then
    29 		echo '-DCURSES_LOC="<ncurses.h>"'
    30 	else
    31 		echo '-DCURSES_LOC="<curses.h>"'
    32 	fi
    33 }
    34 
    35 # Temp file, try to clean up after us
    36 tmp=.lxdialog.tmp
    37 trap "rm -f $tmp" 0 1 2 3 15
    38 
    39 # Check if we can link to ncurses
    40 check() {
    41         $cc -xc - -o $tmp 2>/dev/null <<'EOF'
    42 #include CURSES_LOC
    43 main() {}
    44 EOF
    45 	if [ $? != 0 ]; then
    46 	    echo " *** Unable to find the ncurses libraries or the"       1>&2
    47 	    echo " *** required header files."                            1>&2
    48 	    echo " *** 'make menuconfig' requires 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|-ccflags|-ldflags compiler options]\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