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