CS143-Lab/etc/link-object
2023-03-16 15:55:37 +00:00

62 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
#
#
#Copyright (c) 1995,1996 The Regents of the University of California.
#All rights reserved.
#
#Permission to use, copy, modify, and distribute this software
#for any purpose, without fee, and without written agreement is
#hereby granted, provided that the above copyright notice and the following
#two paragraphs appear in all copies of this software.
#
#IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
#/usr/class/cs143ECT, IN/usr/class/cs143ECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
#OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
#CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
#INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
#AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
#ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
#PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
PRG=$0
# Resolve symlinks, so that the pathname computations below find the
# directory structure they expect.
while [ -h "$PRG" ]; do
# Get the target of the symlink. N.B.: We assume that neither the
# link's value nor the pathname leading to it contains "-> ".
ls=`/bin/ls -ld "$PRG"`
link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
# If the link is absolute, use it as is; otherwise, substitute it
# into the leafname part of $PRG.
case $link in
/*) PRG="$link";;
*) PRG="`/usr/bin/dirname $PRG`/$link"
esac
done
COOL_INST=`/usr/bin/dirname "$PRG"`/..
echo $COOL_INST
num=$1
#arch=`arch`
arch="i686"
shift
for f
do
echo "linking $f"
xname=${COOL_INST}/bin/.${arch}/$f
if [ -f $xname ]; then
ln -s $xname $f
else
echo $f is not compiled for $arch
fi
done