#!/bin/sh
# $Id: build-lynx,v 1.6 2015/12/12 22:47:05 tom Exp $

clean() {
	clean-lynx
}

build() {
	test -d bin    || mkdir bin
	test -d TARGET || mkdir TARGET
	test -d LOGS   || mkdir LOGS

	BIN=$1
	shift 1

	test -z "$CC" && BIN="$BIN"-cc
	test -n "$CC" && BIN="$BIN"-gcc

	CFG=$1
	shift 1

	PREFIX=`pwd`/TARGET
	echo "Building BIN=$BIN, $*"

	cfg-$CFG $* \
		--exec-prefix=$PREFIX \
		--prefix=$PREFIX \
		--datadir=$PREFIX/lib \
		--sysconfdir=$PREFIX/lib \
		"$@" && \
	test -f makefile && \
	make preinstall && \
	make && \
	make install-full && \
		( find TARGET -type f -print |csort ) && \
		make uninstall && \
		cp lynx bin/$BIN &&
		save-lynx &&
		clean &&
		rm -rf TARGET

	if test -d TARGET
	then
		echo '? build failed'
		exit 1
	fi
}

savelog() {
	echo "..savelog $BUILD_LOG"
	sed -e s%`pwd`%SRCDIR%g -e s%SRCDIR/TARGET%BUILD%g run.log >$BUILD_LOG
	rm -f run.log
}

if test -z "$BUILD_LOG" ; then
	clean

	BUILD_LOG=LOGS/`partition`-${CC-cc}-run.log
	BUILD_LOG=$BUILD_LOG run-log $0
	savelog
else

	case `partition` in
	xen-netbsd)
		. with-pkgsrc
		;;
	esac

	build lynx       lynx
	case `partition` in
	*debian*)
		build lynx-debian lynx-debian
		;;
	vmw-*|xen-*|*-9)
		build lynx-wide  lynx  --enable-nls --with-screen=ncursesw --enable-japanese-utf8
		build lynx-slang lynx  --enable-nls --with-screen=slang
		;;
	esac
fi
