#!/bin/sh
# $Id: build-ncurses,v 1.11 2019/10/13 00:13:47 tom Exp $
clean() {
	test -d ncurses || exit 1
	test -f Makefile && make distclean
	test -d BUILD && rm -rf BUILD
	rm -f *.out
}

build() {
	BUILD=`pwd`/BUILD

	test -d bin   || mkdir bin
	test -d BUILD || mkdir BUILD
	test -d BUILD/PkgConfig || mkdir BUILD/PkgConfig
	test -d LOGS  || mkdir LOGS

	TERMINFO=$BUILD/terminfo
	test -d $TERMINFO || mkdir $TERMINFO
	export TERMINFO

	CFG=$1
	shift 1

	OPTS="--with-pkg-config-libdir=$BUILD/PkgConfig"

	# some nawks cannot handle long strings
	case `partition` in
	aix-*|OSF1-V5_1|HP-UX-B_11_00)
		OPTS="--disable-big-strings"
		;;
	esac

	case "${CC:=cc}" in
	*clang*)
		OPTS="$OPTS --without-ada"
		;;
	esac

	echo "Building $*"
	cfg-$CFG $* $OPTS \
		--exec-prefix=$BUILD \
		--prefix=$BUILD $* && \
	make && \
	check-ncu-pconfig && \
	make install && \
		make uninstall && \
		save-ncurses &&
		clean
}

if test -z "$BUILD_LOG" ; then
	clean

	BUILD_LOG=run.log run-log $0
	case "x$CC" in
	x*pgcc)		BUILD_CC=pgcc;;
	x*icc)		BUILD_CC=icc;;
	x*clang)	BUILD_CC=clang;;
	x*c89)		BUILD_CC=c89;;
	x*c99)		BUILD_CC=c99;;
	x*gcc-stricter)	BUILD_CC=gcc-stricter;;
	x*gcc-normal)	BUILD_CC=gcc-normal;;
	x*gcc*)		BUILD_CC=gcc;;
	*)		BUILD_CC=cc;;
	esac
	sed -e s%`pwd`%SRCDIR%g run.log >>LOGS/`partition`-${BUILD_CC}-run.log
	rm -f run.log
else
	build ncurses
	build ncurses --enable-widec
	build thread
fi
