kconfig/lxdialog/check-lxdialog.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 14 16:21:07 2008 +0000 (2008-09-14)
changeset 850 ef8549b58b6f
parent 1 eeea35fbf182
child 1087 5be36a4b304d
permissions -rwxr-xr-x
Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 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