#!/bin/sh
###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
#          text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2023 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://brltty.app/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################

. "`dirname "${0}"`/brltty-prologue.sh"

[ "${#}" -eq 0 ] && syntaxError "missing source root."
sourceRoot="${1}"
shift
cd "${sourceRoot}" || exit "${?}"
sourceRoot="`pwd`"

if [ "${#}" -eq 0 ]
then
   archiveName="`basename "${sourceRoot}"`"
else
   archiveName="${1}"
   shift
fi

if [ "${#}" -eq 0 ]
then
   archiveFile="${archiveName}.zip"
else
   archiveFile="${1}"
   shift
fi
[ "${archiveFile#/}" = "${archiveFile}" ] && archiveFile="${initialDirectory}/${archiveFile}"

[ "${#}" -eq 0 ] || syntaxError "too many parameters."

needTemporaryDirectory
set -e

buildRoot="${temporaryDirectory}/build"
cp -p -r -- "${sourceRoot}" "${buildRoot}"
cd "${buildRoot}"

installRoot="${temporaryDirectory}/${archiveName}"
"./configure" --quiet --host=mingw32 --prefix="${installRoot}" --enable-relocatable-install --without-libbraille --without-flite --without-mikropuhe --without-speechd --without-swift --without-theta
make -s
make -s install

cd ..
zip -q -A -r "${archiveFile}" "${archiveName}"
exit 0
