#! /bin/sh
# Copyright © 2017-2018 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

abs_top_srcdir="@abs_top_srcdir@"
abs_top_builddir="@abs_top_builddir@"

sep='@PATH_SEPARATOR@';

PERL5LIB="$abs_top_builddir/lib/${sep}$abs_top_srcdir/lib/${PERL5LIB:+${sep}}$PERL5LIB"
export PERL5LIB

PATH="$abs_top_builddir/bin${sep}$PATH"
export PATH

# Trigger the use of local modules.
AUTOMAKE_UNINSTALLED=1
export AUTOMAKE_UNINSTALLED

AUTOMAKE_LIBDIR="$abs_top_srcdir/lib"
export AUTOMAKE_LIBDIR

ACLOCAL_AUTOMAKE_DIR="$abs_top_srcdir/m4"
export ACLOCAL_AUTOMAKE_DIR

ACLOCAL_PATH="$abs_top_srcdir/m4/acdir"
export ACLOCAL_PATH

exec "$@"
