#!/bin/bash
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/dolib,v 1.8.2.2 2005/01/12 02:07:15 carpaski Exp $

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
libdir="${D}${DESTTREE}/${CONF_LIBDIR}"
for X in 1 2 3; do
	# The escaping is weird. It will break if you escape the last one.
	libdir="${libdir//\/\///}"
done


if [ ${#} -lt 1 ] ; then
	echo "${0}: at least one argument needed"
	exit 1
fi
if [ ! -d "${libdir}" ] ; then
	install -d "${libdir}"
fi

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"
	fi
done
