#!/bin/bash
###############################################################################
# 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-2024 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}")/../prologue.sh"

defaultPackageName="brltty"
variableNames=()

processExtraProgramParameters() {
   variableNames+=( "${@}" )
}

addProgramOption b string.directory buildRoot "the root directory of the build"
addProgramOption p string.name packageName "the name of the package" "${defaultPackageName}"
optionalProgramParameters
parseProgramArguments "${@}"

if [ -n "${buildRoot}" ]
then
   verifyInputDirectory "${buildRoot}"
else
   setBuildRoot
fi

[ -n "${packageName}" ] || packageName="${defaultPackageName}"

pkgConfig() {
   pkg-config "${@}" -- "${packageName}" || return "${?}"
}

export PKG_CONFIG_PATH="${buildRoot}"
pkgConfig --exists || semanticError "package not found: ${packageName}"

if [ "${#variableNames[*]}" -eq 0 ]
then
   pkgConfig --print-variables | sort
else
   for variableName in "${variableNames[@]}"
   do
      pkgConfig --variable="${variableName}"
   done
fi

exit 0
