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

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

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

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="${D}usr/${CONF_LIBDIR}"
else
	z="${D}$1/${CONF_LIBDIR}"
fi

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