#!/bin/bash
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

eqawarn "QA Notice: Deprecated call to 'preplib'"

if ! ___eapi_has_prefix_variables; then
	ED=${D}
fi

LIBDIR_VAR="LIBDIR_${ABI}"
if [ -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then
	CONF_LIBDIR="${!LIBDIR_VAR}"
fi
unset LIBDIR_VAR

if [ -z "${CONF_LIBDIR}" ]; then
	# we need this to default to lib so that things dont break
	CONF_LIBDIR="lib"
fi

if [ -z "$1" ] ; then
	z="${ED}usr/${CONF_LIBDIR}"
else
	z="${ED}$1/${CONF_LIBDIR}"
fi

if [ -d "${z}" ] ; then
	ldconfig -n -N "${z}"
fi
