#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/doexe,v 1.10.2.1 2004/12/06 03:01:43 carpaski Exp $

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

if [[ $# -lt 1 ]] ; then
	echo "$0: at least one argument needed" 1>&2
	exit 1
fi

if [[ ! -d ${D}${EXEDESTTREE} ]] ; then
	install -d "${D}${EXEDESTTREE}"
fi

for x in "$@" ; do
	if [ -L "${x}" ] ; then
		cp "${x}" "${T}"
		mysrc="${T}"/$(/usr/bin/basename "${x}")
	elif [ -d "${x}" ] ; then
		vecho "doexe: warning, skipping directory ${x}"
		continue
	else
		mysrc="${x}"
	fi
	install ${EXEOPTIONS} "${mysrc}" "${D}${EXEDESTTREE}"
done
