blob: bd8eebca728b2fed9e6f68c92e79e36baddc6e9a [file] [log] [blame]
#!/bin/bash
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
if [[ -z ${PORTAGE_INTERNAL_DOLIB} ]] && ! ___eapi_has_dolib_libopts; then
die "'${0##*/}' has been banned for EAPI '$EAPI'"
exit 1
fi
if ! ___eapi_has_prefix_variables; then
ED=${D}
fi
if ! ___eapi_has_DESTTREE_INSDESTTREE; then
[[ -n ${DESTTREE} ]] &&
die "${0##*/}: \${DESTTREE} has been banned for EAPI '$EAPI'; use 'into' instead"
else
# backwards compatibility
_E_DESTTREE_=${DESTTREE}
fi
# Setup ABI cruft
LIBDIR_VAR="LIBDIR_${ABI}"
if [[ -n ${ABI} && -n ${!LIBDIR_VAR} ]] ; then
CONF_LIBDIR=${!LIBDIR_VAR}
fi
unset LIBDIR_VAR
# we need this to default to lib so that things dont break
CONF_LIBDIR=${CONF_LIBDIR:-lib}
libdir="${ED%/}/${_E_DESTTREE_#/}/${CONF_LIBDIR}"
if [[ $# -lt 1 ]] ; then
__helpers_die "${0##*/}: at least one argument needed"
exit 1
fi
if [[ ! -d ${libdir} ]] ; then
install -d "${libdir}" || { __helpers_die "${0##*/}: failed to install ${libdir}"; exit 1; }
fi
ret=0
for x in "$@" ; do
if [[ -e ${x} ]] ; then
if [[ ! -L ${x} ]] ; then
install ${LIBOPTIONS} "${x}" "${libdir}"
else
ln -s "$(readlink "${x}")" "${libdir}/${x##*/}"
fi
else
echo "!!! ${0##*/}: ${x} does not exist" 1>&2
false
fi
((ret|=$?))
done
[[ $ret -ne 0 ]] && __helpers_die "${0##*/} failed"
exit ${ret}