1*2d543d20SAndroid Build Coastguard Worker#!/bin/sh 2*2d543d20SAndroid Build Coastguard Worker# Set-up environment variables to run programs which are built in DESTDIR folder 3*2d543d20SAndroid Build Coastguard Worker# 4*2d543d20SAndroid Build Coastguard Worker# Usage example to use variables in the current shell: 5*2d543d20SAndroid Build Coastguard Worker# $ export DESTDIR=$HOME/selinux-destdir 6*2d543d20SAndroid Build Coastguard Worker# $ make install install-pywrap install-rubywrap 7*2d543d20SAndroid Build Coastguard Worker# $ . ./scripts/env_use_destdir 8*2d543d20SAndroid Build Coastguard Worker# $ make test 9*2d543d20SAndroid Build Coastguard Worker# 10*2d543d20SAndroid Build Coastguard Worker# Or to use variables in a subcommand, for example to run tests: 11*2d543d20SAndroid Build Coastguard Worker# $ export DESTDIR=$HOME/selinux-destdir 12*2d543d20SAndroid Build Coastguard Worker# $ make install install-pywrap install-rubywrap 13*2d543d20SAndroid Build Coastguard Worker# $ ./scripts/env_use_destdir secilc ... 14*2d543d20SAndroid Build Coastguard Worker# $ ./scripts/env_use_destdir make test 15*2d543d20SAndroid Build Coastguard Worker 16*2d543d20SAndroid Build Coastguard Workerif [ -z "${DESTDIR:-}" ] ; then 17*2d543d20SAndroid Build Coastguard Worker echo >&2 "Error: variable DESTDIR needs to be defined in order to use this script." 18*2d543d20SAndroid Build Coastguard Worker echo >&2 "Example:" 19*2d543d20SAndroid Build Coastguard Worker # shellcheck disable=SC2164 20*2d543d20SAndroid Build Coastguard Worker echo >&2 " DESTDIR=$(cd "$(dirname -- "$0")/.." ; pwd)/DESTDIR . $0" 21*2d543d20SAndroid Build Coastguard Worker exit 1 22*2d543d20SAndroid Build Coastguard Workerfi 23*2d543d20SAndroid Build Coastguard Worker 24*2d543d20SAndroid Build Coastguard Workerexport LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" 25*2d543d20SAndroid Build Coastguard Workerif [ -n "${PREFIX:-}" ] ; then 26*2d543d20SAndroid Build Coastguard Worker LD_LIBRARY_PATH="$DESTDIR$PREFIX/lib:$LD_LIBRARY_PATH" 27*2d543d20SAndroid Build Coastguard Workerfi 28*2d543d20SAndroid Build Coastguard Workerif [ -n "${LIBDIR:-}" ] ; then 29*2d543d20SAndroid Build Coastguard Worker LD_LIBRARY_PATH="$DESTDIR$LIBDIR:$LD_LIBRARY_PATH" 30*2d543d20SAndroid Build Coastguard Workerfi 31*2d543d20SAndroid Build Coastguard Workerif [ -n "${SHLIBDIR:-}" ] ; then 32*2d543d20SAndroid Build Coastguard Worker LD_LIBRARY_PATH="$DESTDIR$SHLIBDIR:$LD_LIBRARY_PATH" 33*2d543d20SAndroid Build Coastguard Workerfi 34*2d543d20SAndroid Build Coastguard Worker 35*2d543d20SAndroid Build Coastguard Workerexport PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" 36*2d543d20SAndroid Build Coastguard Workerif [ -n "${PREFIX:-}" ] ; then 37*2d543d20SAndroid Build Coastguard Worker PATH="$DESTDIR$PREFIX/sbin:$DESTDIR$PREFIX/bin:$LD_LIBRARY_PATH" 38*2d543d20SAndroid Build Coastguard Workerfi 39*2d543d20SAndroid Build Coastguard Workerif [ -n "${BINDIR:-}" ] ; then 40*2d543d20SAndroid Build Coastguard Worker PATH="$DESTDIR$BINDIR:$PATH" 41*2d543d20SAndroid Build Coastguard Workerfi 42*2d543d20SAndroid Build Coastguard Workerif [ -n "${SBINDIR:-}" ] ; then 43*2d543d20SAndroid Build Coastguard Worker PATH="$DESTDIR$SBINDIR:$PATH" 44*2d543d20SAndroid Build Coastguard Workerfi 45*2d543d20SAndroid Build Coastguard Worker 46*2d543d20SAndroid Build Coastguard Workerif command -v "${PYTHON:-python3}" > /dev/null ; then 47*2d543d20SAndroid Build Coastguard Worker NEW_PYTHONPATH="$DESTDIR$(${PYTHON:-python3} -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '/usr', 'base': '/usr'}))"):$DESTDIR$(${PYTHON:-python3} -c "import sysconfig; print(sysconfig.get_path('purelib', vars={'platbase': '/usr', 'base': '/usr'}))")" 48*2d543d20SAndroid Build Coastguard Worker if [ -n "${PYTHONPATH:-}" ] ; then 49*2d543d20SAndroid Build Coastguard Worker # Prefix the PYTHONPATH with the new directories 50*2d543d20SAndroid Build Coastguard Worker export PYTHONPATH="$NEW_PYTHONPATH:$PYTHONPATH" 51*2d543d20SAndroid Build Coastguard Worker else 52*2d543d20SAndroid Build Coastguard Worker # Define PYTHONPATH 53*2d543d20SAndroid Build Coastguard Worker export PYTHONPATH="$NEW_PYTHONPATH" 54*2d543d20SAndroid Build Coastguard Worker fi 55*2d543d20SAndroid Build Coastguard Workerfi 56*2d543d20SAndroid Build Coastguard Worker 57*2d543d20SAndroid Build Coastguard Worker# shellcheck disable=SC2155 58*2d543d20SAndroid Build Coastguard Workerif command -v "${RUBY:-ruby}" > /dev/null ; then 59*2d543d20SAndroid Build Coastguard Worker export RUBYLIB="$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorarchdir"]')" 60*2d543d20SAndroid Build Coastguard Workerfi 61*2d543d20SAndroid Build Coastguard Worker 62*2d543d20SAndroid Build Coastguard Worker# Run the command given on the command line 63*2d543d20SAndroid Build Coastguard Workerif [ $# -gt 0 ] ; then 64*2d543d20SAndroid Build Coastguard Worker exec "$@" 65*2d543d20SAndroid Build Coastguard Workerfi 66