#! /bin/sh -
### ========================================================================
### Automate the building of daily TeX Live 2017 snapshots for all
### local architectures.  The environment variable prefix controls the
### choice of search path, and suitable defaults are provided if it is
### not yet set.
###
### Usage:
###     [unpack the texlive-YYMMDD distribution somewhere and cd to it]
###     [env CC=/path/to/c-compiler        \
###          CXX=/path/to/c++-compiler     \
###          CLISP=/path/to/clisp          \
###	     GNUDF=/path/to/gnu/df         \
###	     GNUDU=/path/to/gnu/du         \
###	     GNUMAKE=/path/to/gnu/make     \
###	     GNUTAR=/path/to/gnu/tar       \
###	     TL_CONFIGURE_FLAGS="..." ]    \
###	     $prefix/src/texlive/build-texlive-2017.sh [ -m64 ] [ texlive-YYYYMMDD ]
###
### The -m64 option is needed to select a 64-bit Solaris build.
###
### [04-Feb-2017] -- adapt from build-texlive-2016.sh for 2017 builds
### [04-Mar-2016] -- adapt from build-texlive-2015.sh for 2016 builds
### [31-Mar-2015] -- revise with search loops and run-time variable overrides
### [28-Mar-2015] -- copied from 2014 version
### [20-Jun-2014] -- more minor tweaks
### [24-May-2014] -- add support for command-line naming of texlive-YYYYMMDD
### [04-Apr-2014] -- minor tweaks
### [30-Mar-2014]
### ========================================================================

IFS='
	'

PATH=/bin:/usr/bin
export PATH

fatal()
{
    echo "ERROR:" "$@"
    exit 1
}

test -z "$prefix" && test -d /usr/uumath/bin && prefix=/usr/uumath
test -z "$prefix" && test -d /usr/local/bin  && prefix=/usr/local
prefix=${prefix-/usr/local}
echo "DEBUG: prefix             = $prefix"

### Default to GNU compilers, but allow override from environment
CC=${CC-gcc}
CXX=${CXX-g++}

if test -z "${GNUDF}"
then
    for d in ${prefix}/bin /usr/pkg/bin /usr/local/bin /bin /usr/bin
    do
	test -z "${GNUDF}" -a -f $d/gdf && GNUDF=$d/gdf
	test -z "${GNUDF}" -a -f $d/df  && GNUDF=$d/df
	test -z "${GNUDF}" || break
    done
fi

if test -z "${GNUDU}"
then
    for d in ${prefix}/bin /usr/pkg/bin /usr/local/bin /bin /usr/bin
    do
	test -z "${GNUDU}" -a -f $d/gdu && GNUDU=$d/gdu
	test -z "${GNUDU}" -a -f $d/du  && GNUDU=$d/du
	test -z "${GNUDU}" || break
    done
fi

test ! -f ${GNUDF} && fatal Cannot find suitable GNU df utility

if test -z "${GNUMAKE}"
then
    for d in ${prefix}/bin /usr/pkg/bin /usr/local/bin /bin /usr/bin
    do
	test -z "${GNUMAKE}" -a -f $d/gmake && GNUMAKE=$d/gmake
	test -z "${GNUMAKE}" -a -f $d/make  && GNUMAKE=$d/make
	test -z "${GNUMAKE}" || break
    done
fi

test ! -f ${GNUMAKE} && fatal Cannot find suitable GNU make utility

if test -z "${GNUTAR}"
then
    for d in ${prefix}/bin /usr/pkg/bin /usr/local/bin /bin /usr/bin
    do
	test -z "${GNUTAR}" -a -f $d/gnutar && GNUTAR=$d/gnutar
	test -z "${GNUTAR}" -a -f $d/gtar   && GNUTAR=$d/gtar
	test -z "${GNUTAR}" -a -f $d/tar    && GNUTAR=$d/tar
	test -z "${GNUTAR}" || break
    done
fi

test ! -f ${GNUTAR}  && fatal Cannot find suitable GNU tar utility

if test -z "${CLISP}"
then
    ## NB: For clisp, we MUST prefer the vendor version, because it
    ## will not have dependencies on local libraries that propagate
    ## into xindy.run.
    for d in /bin /usr/bin /usr/pkg/bin /usr/local/bin ${prefix}/bin
    do
	test -z "${CLISP}" -a -f $d/clisp    && CLISP=$d/clisp
	test -z "${CLISP}" || break
    done
fi

if test -z "${TIME}"
then
    for d in /bin /usr/bin /usr/pkg/bin /usr/local/bin ${prefix}/bin
    do
	test -z "${TIME}" -a -f $d/time    && TIME=$d/time
	test -z "${TIME}" || break
    done
fi

tlsrcdir=${tlsrcdir-$prefix/src/texlive}
tlbasename=
tltarfile=

echo "DEBUG: argc                 = $#"

## supply default argument in none given
test $# -gt 0 || set texlive-20160328

while test $# -gt 0
do
    case "$1" in
    -*) tlarch=$1
	;;

    *)
	echo "DEBUG: tlsrcdir             = $tlsrcdir"
	echo "DEBUG: tltarfile            = $tltarfile"
	echo "DEBUG: arg-1                = $1"
	tlbasename=$1
	if test -f $tlsrcdir/$1.tar.gz
	then
	    tltarfile=$tlsrcdir/$1.tar.gz
	elif test -f $HOME/$1.tar.gz
	then
	    tltarfile=$HOME/$1.tar.gz
	elif test -f `pwd`/$1.tar.gz
	then
	    tltarfile=`pwd`/$1.tar.gz
	elif test -f $tlsrcdir/$1.tar.xz
	then
	    tltarfile=$tlsrcdir/$1.tar.xz
	elif test -f $HOME/$1.tar.xz
	then
	    tltarfile=$HOME/$1.tar.xz
	elif test -f `pwd`/$1.tar.xz
	then
	    tltarfile=`pwd`/$1.tar.xz
	else
	    fatal ERROR: Expected texlive-YYYYMMDD, but no .tar.gz or .tar.xz file found in $tlsrcdir or $HOME or `pwd`
	fi
	;;

    esac
    shift
done

if test -n "$tltarfile"
then
	test -d $tlbasename || (echo Unpacking $tltarfile ... && ${GNUTAR} xfz $tltarfile)
	cd $tlbasename || fatal Cannot change directory to $tlbasename
fi

tlbuilddir=`pwd`

if test -d source -a -f source/Build -a -x source/Build
then
    cd source
else
    fatal ERROR: This is not a valid TeX Live source tree: missing source directory and/or source/Build script
fi

TL_BUILD_ENV=
TL_COMPILER_GFLAGS=

TL_CONFIGURE_ARGS=${TL_CONFIGURE_ARGS-}

## The next two settings are site-specific

## At Utah, we disable use of libiconv to avoid dependencies on $prefix/lib*/libiconv.so*.
## : ${TL_CONFIGURE_FLAGS:=--with-iconv=no}
TL_CONFIGURE_FLAGS="$TL_CONFIGURE_FLAGS --with-iconv=no"

## Until we are in final builds, we make debugging the default mode
: ${TL_DEBUG_FLAGS:=--debug}

: ${libdir:=${prefix}/lib}

## Define architecture features if the user did not already do so
: ${tlarch=$1}
: ${tlmodel="`uname -m`"}
: ${tlrelease="`uname -r`"}
: ${tlsystem="`uname -s`"}
: ${tlmakeflags=-j8}

echo
echo =============================== Initial settings ===============================
echo
echo "DEBUG: prefix               = ${prefix}"
echo "DEBUG: tlarch               = ${tlarch}"
echo "DEBUG: tlmodel              = ${tlmodel}"
echo "DEBUG: tlrelease            = ${tlrelease}"
echo "DEBUG: tlsystem             = ${tlsystem}"
echo "DEBUG: CC                   = ${CC}"
echo "DEBUG: CFLAGS               = ${CFLAGS}"
echo "DEBUG: CPPFLAGS             = ${CPPFLAGS}"
echo "DEBUG: CXX                  = ${CXX}"
echo "DEBUG: CXXFLAGS             = ${CXXFLAGS}"
echo "DEBUG: CLISP                = ${CLISP}"
echo "DEBUG: GNUDF                = ${GNUDF}"
echo "DEBUG: GNUDU                = ${GNUDU}"
echo "DEBUG: GNUMAKE              = ${GNUMAKE}"
echo "DEBUG: GNUTAR               = ${GNUTAR}"
echo "DEBUG: LDFLAGS              = ${LDFLAGS}"
echo "DEBUG: LIBS                 = ${LIBS}"
echo "DEBUG: PATH                 = ${PATH}"
echo "DEBUG: TL_CONFIGURE_FLAGS   = ${TL_CONFIGURE_FLAGS}"
echo "DEBUG: C compiler version   = `${CC} --version | head -1 || true`"
echo "DEBUG: C++ compiler version = `${CXX} --version | head -1 || true`"

case "${tlsystem}" in
	Bitrig)
		## NB: Bitrig (OpenBSD-based) native package system installs in /usr/local tree!
		## There is no multilib support: all 64-bit libraries are in /usr{,/local}/lib.
		PATH=/bin:/usr/bin:/usr/local/bin
		export PATH
		libdir=/usr/local/lib
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libpng.a                     && libs="${libs} ${libdir}/libpng.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/local/include/freetype1 -I/usr/include -I/usr/local/include"
		## NO: "error: you can not use system libraries for a native TeX Live build"
		## NO: TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-system-icu"
		;;

	Darwin)
		case "${tlmodel}" in
		Power*)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			;;

		i386)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			;;

		esac
		;;

	DragonFly)
		PATH=/usr/local/bin:/bin:/usr/bin
		export PATH
		libs=
		## test -f /usr/pkg/lib/libfontconfig.a           && libs="${libs} /usr/pkg/lib/libfontconfig.a"
		## test -f /usr/pkg/lib/libexpat.a                && libs="${libs} /usr/pkg/lib/libexpat.a"
		## test -f /usr/pkg/lib/libfreetype.a             && libs="${libs} /usr/pkg/lib/libfreetype.a"
		## test -f /usr/pkg/lib/libxml2.a                 && libs="${libs} /usr/pkg/lib/libxml2.a"
		## test -f /usr/pkg/lib/libbz2.a                  && libs="${libs} /usr/pkg/lib/libbz2.a"
		## test -f /usr/pkg/lib/libz.a                    && libs="${libs} /usr/pkg/lib/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f /usr/pkg/lib/libfontconfig.a            && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=/usr/pkg/lib/libfontconfig.a"
		## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/local/include/freetype2 -I/usr/include -I/usr/local/include"
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luajittex"
		## Clisp-2.49 fails to build on DragonFlyBSD 4.0, and
		## is not available in the package system, so xindy cannot be built
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-xindy"
		;;

	FreeBSD)
		## Need $prefix/bin in PATH for pkg_config
		## NB: FreeBSD native package system installs in /usr/local tree!
		PATH=/bin:/usr/bin:/usr/local/bin:$prefix/bin
		export PATH
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libpng.a                     && libs="${libs} ${libdir}/libpng.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		;;

	GNU)	# Hurd (only supports x86)
		PATH=/bin:/usr/bin:${prefix}/bin
		export PATH
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		## test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I/usr/include/X11 -I${prefix}/include -DPATH_MAX=1024"
		## libicu may not be available on Hurd, and clisp is not available
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-xetex --disable-xindy"
		;;

	GNU/kFreeBSD)
		PATH=/bin:/usr/bin
		export PATH
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		;;

	IRIX64)
		PATH=/bin:/usr/bin:/usr/bsd
		export PATH
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		## TL_BUILD_ENV="${TL_BUILD_ENV} CC=${prefix}/bin/gcc"
		## TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${prefix}/bin/g++"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} GNUMAKE=${prefix}/bin/make"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --without-graphite --disable-xetex --disable-bibtexu --disable-biber"
		;;

	LibertyBSD)
		## Need private version of strip in /var/tmp/bin:
		## #! /bin/sh
		## /usr/bin/strip "$@" || true

		mkdir /var/tmp/bin 2> /dev/null || true

		if test ! -f /var/tmp/bin/strip
		then
		    printf '#! /bin/sh\n/usr/bin/strip "$@"\n' >/var/tmp/bin/strip
		    chmod a+rx /var/tmp/bin/strip
		fi

		case "${tlrelease}" in
		5.*)
			PATH=/var/tmp/bin:/bin:/usr/bin:$prefix/bin
			export PATH
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f /usr/lib/libexpat.a            && libs="${libs} /usr/lib/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f /usr/lib/libz.a                && libs="${libs} /usr/lib/libz.a"
			## [28-Apr-2016] Force X11 libraries with -lXaw and -lfreetype into linker path
			test -f /usr/X11R6/lib/libXaw.a        && libs="${libs} -L/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib"
			libs="${libs} -lpthread -lm"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS}"
			;;

		6.*)
			PATH=/var/tmp/bin:/bin:/usr/bin:$prefix/bin
			export PATH
			libs=
			test -f /usr/X11R6/lib/libXaw.a        && libs="${libs} -L/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib"
			libs="${libs} -lpthread -lm"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS}"
			;;

		*)
			fatal ERROR: No support yet for this release of LibertyBSD
			;;

		esac

		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CPPFLAGS=-DU_PLATFORM=U_PF_BSD"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		## LibertyBSD packages are installed in the /usr/local tree, and that tree may override
		## settings in /usr
		TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -I/usr/local/include -I/usr/include"
		;;

	Linux)
		case "${tlmodel}" in
		alpha)
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			## test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/include/freetype2"
			;;

		armv7l)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} U_CC=${CC} U_CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} LD_LIBRARY_PATH='/lib:/usr/lib'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LD_RUN_PATH='/lib:/usr/lib'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I${prefix}/include -I/usr/include"
			## We have to disable xindy because its build gets an error: SIGSEGV cannot be cured"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-xindy"
			;;

		i686)
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} U_CC=${CC} U_CXX=${CXX}"

			## if test -d /lib/i386-linux-gnu
			## then
			## 	TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,/lib/i386-linux-gnu -L/lib/i386-linux-gnu -Wl,-rpath,${libdir} -L${libdir}'"
			## else
			## 	TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			## fi
			TL_BUILD_ENV="${TL_BUILD_ENV} LD_LIBRARY_PATH='/lib:/usr/lib'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LD_RUN_PATH='/lib:/usr/lib'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			## test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I${prefix}/include -I/usr/include"
			TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/include/freetype2 -I/usr/include"
			test -f "${CLISP}" && TL_CONFIGURE_FLAGS="--enable-xindy CLISP=${CLISP} ${TL_CONFIGURE_FLAGS}"
			;;

		ia64)   # TeX Live 2014 has a native IA-64 build!
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			## test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/include/freetype2 -I/usr/include"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luajittex"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luatex"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-mfluajit"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-xindy"
			;;

		mips64)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			## TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luajittex"
			## TeX Live libicu components fail to build on this system
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-xetex"
			;;

		ppc)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,/usr/lib -L/usr/lib -Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			# NB: on systems that have /usr/bin/clisp,
			# $prefix/bin/clisp must exist, or be a
			# link to /usr/bin/clisp
			;;

		ppc64*)
			libs=
			test -f /usr/lib/libfontconfig.a       && libs="${libs}  /usr/lib/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luajittex"
			;;

		sparc64)
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CPPFLAGS=-DU_IS_BIG_ENDIAN=1"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -mcpu=v9 -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			## We have to omit xetex, because the latest
			## libicu version fails to pass its validation
			## checks on GNU/Linux SPARC, sigh...
			## TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-iconv=no --without-graphite --disable-xetex"
			;;

		x86_64)
			libdir=${prefix}/lib64
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f ${libdir}/libexpat.a           && libs="${libs} ${libdir}/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
			TL_BUILD_ENV="${TL_BUILD_ENV} LD_LIBRARY_PATH='/lib64:/usr/lib64' LD_RUN_PATH='/lib64:/usr/lib64'"
			## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			## test -f ${libdir}/libfontconfig.a       && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
			TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/include/freetype2"
			;;

		*)
			fatal ERROR: No TeX Live build supported yet for this system
			;;

		esac

		## clisp is available on some, but not all, Linux
		## distributions, and we cannot build xindy without it
		## (none of ecl, gcl, or sbcl are usable Common Lisps
		## for xindy)
		## NB: We insert the xindy flags BEFORE the TL_CONFIGURE_FLAGS, so that
		## xindy can be enabled/disabled by platform-specific code above
		test -f "${CLISP}" && TL_CONFIGURE_FLAGS="--enable-xindy CLISP=${CLISP} ${TL_CONFIGURE_FLAGS}"
		test -f "${CLISP}" || TL_CONFIGURE_FLAGS="--disable-xindy ${TL_CONFIGURE_FLAGS}"
		;;

	MidnightBSD)
		## Need $prefix/bin in PATH for pkg_config
		## NB: MidnightBSD native package system (mport) installs in /usr/local tree!
		PATH=/bin:/usr/bin:/usr/local/bin:$prefix/bin
		export PATH
		libdir=/usr/local/lib
		libs=
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/local/include/freetype2 -I/usr/include -I/usr/local/include"
		## configure does not recognize this system, so treat it as a similar one
		TL_CONFIGURE_ARGS="${TL_CONFIGURE_ARGS} --build=x86_64-unknown-freebsd11.0"
		;;

	Minix)
		PATH=/usr/pkg/bin:/usr/pkg/sbin:/bin:/usr/bin:/sbin:/usr/sbin
		export PATH
		libdir=$prefix/lib
		libs=
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXXFLAGS='${CXXFLAGS} -I/usr/pkg/include -I/usr/include/c++ -I/usr/pkg/gcc45/include/g++ -I/usr/pkg/gcc45/include/g++/i586-elf32-minix'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g"
		;;		

	MirBSD)
		## This platform needs a repair to <stdlib.h>:
		##
		##      % diff /usr/include/stdlib.h /local/build/include/stdlib.h
		##      276c276
		##      <       __attribute__((bounded (string, 1, 2)));
		##      ---
		##      >       __attribute__((bounded (__string__, 1, 2)));
		##      294c294
		##      <       __attribute__((bounded (string, 1, 2)));
		##      ---
		##      >       __attribute__((bounded (__string__, 1, 2)));
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f /usr/lib/libexpat.a                    && libs="${libs} /usr/lib/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		## we have only mgcc in MirBSD, so force its use
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=mgcc"
		TL_BUILD_ENV="${TL_BUILD_ENV} CPPFLAGS='-DU_PLATFORM=U_PF_BSD -I/local/build/include'"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		## We have to omit xetex, because the latest
		## libicu version fails to build on MirBSD, sigh...
		## TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-iconv=no --without-graphite --disable-xetex --disable-bibtexu"
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-iconv=no --without-graphite"
		;;

	NetBSD)
		## Need private version of strip in /var/tmp/bin:
		## #! /bin/sh
		## /usr/bin/strip "$@" || true

		mkdir /var/tmp/bin 2> /dev/null || true

		if test ! -f /var/tmp/bin/strip
		then
		    printf '#! /bin/sh\n/usr/bin/strip "$@"\n' >/var/tmp/bin/strip
		    chmod a+rx /var/tmp/bin/strip
		fi

		## Need /usr/pkg/bin for perl, which is absent from the first two directories in PATH
		PATH=/var/tmp/bin:/bin:/usr/bin:/usr/pkg/bin:$prefix/bin
		export PATH
		libs=
		test -f ${libdir}/libfontconfig.a              && libs="${libs} ${libdir}/libfontconfig.a"
		test -f ${libdir}/libexpat.a                   && libs="${libs} ${libdir}/libexpat.a"
		test -f ${libdir}/libfreetype.a                && libs="${libs} ${libdir}/libfreetype.a"
		test -f ${libdir}/libxml2.a                    && libs="${libs} ${libdir}/libxml2.a"
		test -f ${libdir}/libbz2.a                     && libs="${libs} ${libdir}/libbz2.a"
		test -f ${libdir}/libz.a                       && libs="${libs} ${libdir}/libz.a"
		libs="${libs} -lm"
		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		## We have to omit xetex, because the latest
		## libicu version fails to build on NetBSD, sigh...
		TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-iconv=no --without-graphite --disable-xetex --disable-bibtexu --disable-biber"
		test "${tlrelease}" = '5.1' && TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-luajittex --disable-mfluajit"
		;;

	OpenBSD)
		## Need private version of strip in /var/tmp/bin:
		## #! /bin/sh
		## /usr/bin/strip "$@" || true

		mkdir /var/tmp/bin 2> /dev/null || true

		if test ! -f /var/tmp/bin/strip
		then
		    printf '#! /bin/sh\n/usr/bin/strip "$@"\n' >/var/tmp/bin/strip
		    chmod a+rx /var/tmp/bin/strip
		fi

		case "${tlrelease}" in
		4.*)
			PATH=/var/tmp/bin:/bin:/usr/bin
			export PATH
			libs=
			test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			test -f /usr/lib/libexpat.a            && libs="${libs} /usr/lib/libexpat.a"
			test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libz.a               && libs="${libs} ${libdir}/libz.a"
			## [28-Apr-2016] Force X11 libraries with -lXaw and -lfreetype into linker path
			test -f /usr/X11R6/lib/libXaw.a        && libs="${libs} -L/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib"
			libs="${libs} -lm"
			## We have to omit xetex, because the latest
			## libicu version fails to build on OpenBSD, sigh...
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --with-iconv=no --without-graphite --disable-xetex --disable-bibtexu"
			;;

		5.*)
			PATH=/var/tmp/bin:/bin:/usr/bin:$prefix/bin
			export PATH
			libs=
			## test -f ${libdir}/libfontconfig.a      && libs="${libs} ${libdir}/libfontconfig.a"
			## test -f /usr/lib/libexpat.a            && libs="${libs} /usr/lib/libexpat.a"
			## test -f ${libdir}/libfreetype.a        && libs="${libs} ${libdir}/libfreetype.a"
			## test -f ${libdir}/libbz2.a             && libs="${libs} ${libdir}/libbz2.a"
			## test -f /usr/lib/libz.a                && libs="${libs} /usr/lib/libz.a"
			## [28-Apr-2016] Force X11 libraries with -lXaw and -lfreetype into linker path
			test -f /usr/X11R6/lib/libXaw.a        && libs="${libs} -L/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib"
			libs="${libs} -lpthread -lm"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS}"
			;;

		6.*)
			PATH=/var/tmp/bin:/bin:/usr/bin:$prefix/bin
			export PATH
			libs=
			test -f /usr/X11R6/lib/libXaw.a        && libs="${libs} -L/usr/X11R6/lib -Wl,-rpath,/usr/X11R6/lib"
			libs="${libs} -lpthread -lm"
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS}"
			;;

		*)
			fatal ERROR: No support yet for this release of OpenBSD
			;;

		esac

		TL_BUILD_ENV=
		TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"
		TL_BUILD_ENV="${TL_BUILD_ENV} CPPFLAGS=-DU_PLATFORM=U_PF_BSD"
		test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS=${libdir}/libfontconfig.a"
		## TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-Wl,-rpath,${libdir} -L${libdir}'"
		TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
		## TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"
		## OpenBSD packages are installed in the /usr/local tree, and that tree may override
		## settings in /usr
		TL_COMPILER_GFLAGS="${tlarch} -g -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include -I/usr/local/include -I/usr/include"
		;;

	SunOS)
		case "${tlarch}" in
		-m64)
			libdir=${prefix}/lib/64
			## We need gcc-3.x because gcc-4.x produces assembly errors in lua51/lcoco.c
			PATH=/usr/sfw/bin:/bin:/usr/ccs/bin
			test -d /bin/amd64            && PATH=/bin/amd64:${PATH}
			test -d ${prefix}/bin/amd64   && PATH=${prefix}/bin/amd64:${PATH}
			test -d bin/sparcv9           && PATH=/bin/sparcv9:${PATH}
			test -d ${prefix}/bin/sparcv9 && PATH=${prefix}/bin/sparcv9:${PATH}
			;;

		*)
			libdir=${prefix}/lib
			tlarch=-m32
			PATH=/bin:/usr/sfw/bin:/usr/ccs/bin
			;;

		esac

		## For OpenIndiana, we have two additional sources of GNU software
		test -d /usr/gnu/bin			&& PATH=/usr/gnu/bin:$PATH
		test -d /usr/gcc/4.3/bin		&& PATH=/usr/gcc/4.3/bin:$PATH

		## For Solaris 11.3, Oracle has a fairly rich GNU tool
		## chain in /bin and /lib, and with --disable-gl, we
		## only need gcc-5.2 compilers from /opt/csw/bin to
		## produce a TeX Live build that is completely devoid
		## of references to the /opt/csw tree that might not
		## be available at other sites.

		if test -x /opt/csw/bin/g++-4.9 -a -x /opt/csw/bin/gcc-4.9 || \
		   test -x /opt/csw/bin/g++-5.2 -a -x /opt/csw/bin/gcc-5.2
		then
			PATH=/opt/csw/bin:/bin
			
			libs=-lm
			test -x /bin/clisp && TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --enable-xindy"

			## Force Oracle libraries ahead of /opt/csw ones
			case "${tlarch}" in
			-m64)
				LDFLAGS="$LDFLAGS -R/lib/64 -L/lib/64"
				LDFLAGS="$LDFLAGS -R/usr/lib/64 -L/usr/lib/64"
				LDFLAGS="$LDFLAGS -R/opt/csw/lib/64 -L/opt/csw/lib/64"
				LDFLAGS="$LDFLAGS -static-libstdc++"
				;;
			*)
				LDFLAGS="$LDFLAGS -R/lib -L/lib"
				LDFLAGS="$LDFLAGS -R/usr/lib -L/usr/lib"
				LDFLAGS="$LDFLAGS -R/opt/csw/lib -L/opt/csw/lib"
				LDFLAGS="$LDFLAGS -static-libstdc++"
				;;
			esac				  

			## /bin/gcc is gcc-4.8.2, and neither it nor the CSW gcc-4.9.2 compilers
			## can build asymptote
			test "$CXX" = "g++" && CXX=/opt/csw/bin/g++-5.2 && CXXFLAGS="$CXXFLAGS -I/opt/csw/include"
			test "$CC"  = "gcc" &&  CC=/opt/csw/bin/gcc-5.2 &&   CFLAGS="  $CFLAGS -I/opt/csw/include"
			test -x /bin/gmake  && GMAKE=/bin/gmake
			CPPFLAGS="$CPPFLAGS ${tlarch}"
			CXXFLAGS="$CXXFLAGS ${tlarch}"
			CFLAGS="    $CFLAGS ${tlarch}"

			TL_BUILD_ENV="${TL_BUILD_ENV} CC='${CC}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX='${CXX}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} CFLAGS='${CFLAGS}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXXFLAGS='${CXXFLAGS}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='${LDFLAGS}'"
			TL_COMPILER_GFLAGS="${tlarch} -g"
		else # perhaps older version of Solaris
			libs=
			test -f ${libdir}/libfontconfig.a	&& libs="${libs} ${libdir}/libfontconfig.a"
			test -f ${libdir}/libexpat.a		&& libs="${libs} ${libdir}/libexpat.a"
			test -f ${libdir}/libfreetype.a		&& libs="${libs} ${libdir}/libfreetype.a"
			test -f ${libdir}/libbz2.a		&& libs="${libs} ${libdir}/libbz2.a"
			test -f ${libdir}/libgmp.a		&& libs="${libs} ${libdir}/libgmp.a"
			test -f ${libdir}/libz.a		&& libs="${libs} ${libdir}/libz.a"
			libs="${libs} -lm"

			export PATH
			TL_BUILD_ENV=
			TL_BUILD_ENV="${TL_BUILD_ENV} CC=${CC}"
			TL_BUILD_ENV="${TL_BUILD_ENV} CXX=${CXX}"

			# gcc-4.2 on Solaris x86_64 and x86
			test -f $prefix/bin/gcc-4.2 && TL_BUILD_ENV="${TL_BUILD_ENV}  CC=$prefix/bin/gcc-4.2"
			test -f $prefix/bin/g++-4.2 && TL_BUILD_ENV="${TL_BUILD_ENV} CXX=$prefix/bin/g++-4.2"

			# gcc-4.4 on Solaris SPARC
			test -f $prefix/bin/gcc-4.4 && TL_BUILD_ENV="${TL_BUILD_ENV}  CC=$prefix/bin/gcc-4.4"
			test -f $prefix/bin/g++-4.4 && TL_BUILD_ENV="${TL_BUILD_ENV} CXX=$prefix/bin/g++-4.4"

			TL_BUILD_ENV="${TL_BUILD_ENV} LDFLAGS='-R/usr/openwin/lib -L/usr/openwin/lib -R${libdir} -L${libdir}'"
			TL_BUILD_ENV="${TL_BUILD_ENV} LIBS='${libs}'"
			test -f ${libdir}/libfontconfig.a               && TL_BUILD_ENV="${TL_BUILD_ENV} FONTCONFIG_LIBS='${libdir}/libfontconfig.a'"
			TL_COMPILER_GFLAGS="${tlarch} -g -I${prefix}/include/freetype2 -I/usr/include -I${prefix}/include"

			## [30-Mar-2014] need GNU make 3.80 or later for freetype2 builds
			GNUMAKE=/usr/sfw/bin/gmake

			## [30-Mar-2014] temporary until dvisvgm problems worked out by TeX Live developers
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-dvisvgm"

			## [04-Apr-2014] Karl Berry reports that ttftotype42 tests fail on Solaris
			TL_CONFIGURE_FLAGS="${TL_CONFIGURE_FLAGS} --disable-lcdftypetools"
		fi

		export PATH
		;;

	*)
		fatal ERROR: TeX Live build is not yet supported for this system
		;;

esac

echo
echo ================================ Final settings ================================
echo
echo "DEBUG: prefix               = ${prefix}"
echo "DEBUG: tlarch               = ${tlarch}"
echo "DEBUG: tlmodel              = ${tlmodel}"
echo "DEBUG: tlrelease            = ${tlrelease}"
echo "DEBUG: tlsystem             = ${tlsystem}"
echo "DEBUG: CC                   = ${CC}"
echo "DEBUG: CFLAGS               = ${CFLAGS}"
echo "DEBUG: CPPFLAGS             = ${CPPFLAGS}"
echo "DEBUG: CXX                  = ${CXX}"
echo "DEBUG: CXXFLAGS             = ${CXXFLAGS}"
echo "DEBUG: CLISP                = ${CLISP}"
echo "DEBUG: GNUDF                = ${GNUDF}"
echo "DEBUG: GNUDU                = ${GNUDU}"
echo "DEBUG: GNUMAKE              = ${GNUMAKE}"
echo "DEBUG: GNUTAR               = ${GNUTAR}"
echo "DEBUG: LDFLAGS              = ${LDFLAGS}"
echo "DEBUG: LIBS                 = ${LIBS}"
echo "DEBUG: PATH                 = ${PATH}"
echo "DEBUG: TL_CONFIGURE_FLAGS   = ${TL_CONFIGURE_FLAGS}"
echo "DEBUG: C compiler version   = `${CC} --version | head -1 || true`"
echo "DEBUG: C++ compiler version = `${CXX} --version | head -1 || true`"

## [30-Mar-2014] Does making this global solve the freetype2 build problem on Solaris?

export GNUMAKE

## [25-May-2014] Switch to static -liconv whenever it is available,
## because it is not standardly available on most Unix systems, but
## both xdvi and xindy insist on using it, even ignoring our
## --with-iconv=no option, sigh...

if test -f ${libdir}/libiconv.a
then
    echo Forcing -liconv library references to use static library because -liconv is often missing at other sites ...
    TL_BUILD_ENV="${TL_BUILD_ENV} LIBICONV=${libdir}/libiconv.a LTLIBICONV=${libdir}/libiconv.a iconv_libs=${libdir}/libiconv.a X_EXTRA_LIBS=${libdir}/libiconv.a"
    find `pwd` -name Makefile -o -name Makefile.in | xargs ${prefix}/bin/sed -i -e "s=-liconv=${libdir}/libiconv.a="
    find `pwd` -name Make\* | sort | xargs grep iconv
fi

cat <<EOF
========================================================================

Preparing to build TeX Live in `pwd` with these commands:

    date
    uptime || true
    nice ${TIME} env -i                                          \\
	HOME=${HOME}                                             \\
	   PATH=${PATH}                                          \\
		TL_BUILD_ENV="${TL_BUILD_ENV}"                   \\
		    TL_COMPILER_GFLAGS="${TL_COMPILER_GFLAGS}"   \\
			TL_CONFIGURE_ARGS="${TL_CONFIGURE_ARGS}" \\
			    TL_MAKE=${GNUMAKE}                   \\
				TL_MAKE_FLAGS="${tlmakeflags}"   \\
				    ./Build ${TL_DEBUG_FLAGS} ${TL_CONFIGURE_FLAGS}
    uptime || true
    date

Disk space check:

`${GNUDF} -h .`

After configuration, if the make fails, repair problems and restart it
like this:

    cd ${tlbuilddir}/source/Work
    ${GNUMAKE} world

If that succeeds, copy the ${tlbuilddir}/source/inst/bin/*/* files into
the appropriate TeX Live bin/ARCHITECTURE-NAME/ directory.

========================================================================
EOF

date
uptime || true

if test -f ${libdir}/libfontconfig.a
then
    echo Patching FONTCONFIG_LIBS ...
    find `pwd` -name Makefile.in | xargs ${prefix}/bin/sed -i -e "s=@FONTCONFIG_LIBS@=${libdir}/libfontconfig.a="
    find `pwd` -name Makefile.in | xargs grep '^FONTCONFIG_LIBS'
fi

nice ${TIME} env -i								\
    HOME=${HOME}								\
	PATH=${PATH}								\
	    TL_BUILD_ENV="${TL_BUILD_ENV}"					\
		TL_COMPILER_GFLAGS="${TL_COMPILER_GFLAGS}"			\
		     TL_CONFIGURE_ARGS="${TL_CONFIGURE_ARGS}"			\
			TL_MAKE=${GNUMAKE}					\
			    TL_MAKE_FLAGS="${tlmakeflags}"			\
				./Build ${TL_DEBUG_FLAGS} ${TL_CONFIGURE_FLAGS}
uptime || true
date

cat <<EOF
========================================================================

Finished TeX Live build attempt:

Disk space check:

`${GNUDF} -h .`

Stripped binaries are in `echo ${tlbuilddir}/source/inst/bin/*`

Checking just-built binaries: expect roughly 415
............................. found  exactly `ls -1 ${tlbuilddir}/source/inst/bin/*/* | wc -l`

------------------------------------------------------------------------

Binary directory disk space check:

`test -d ${tlbuilddir}/source/inst/bin && ${GNUDU} -sh ${tlbuilddir}/source/inst/bin`

------------------------------------------------------------------------

Library dependency check (executables MUST NOT refer to ${prefix} libraries)

`cd ${tlbuilddir}/source/inst/bin/* ; ${prefix}/src/texlive/show-texlive-libs.sh 2/dev/null || true`

========================================================================
EOF
