source: trunk/third/gcc/symlink-tree @ 16960

Revision 16960, 1.1 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16959, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#!/bin/sh
2# Create a symlink tree.
3#
4# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
5#
6# where srcdir is the directory to create a symlink tree to,
7# and "ignoreN" is a list of files/directories to ignore.
8
9prog=$0
10srcdir=$1
11ignore="$2"
12
13if test $# -lt 1; then
14  echo "symlink-tree error:  Usage: symlink-tree srcdir \"ignore1 ignore2 ...\""
15  exit 1
16fi
17
18ignore_additional=". .. CVS"
19
20# If we were invoked with a relative path name, adjust ${prog} to work
21# in subdirs.
22case ${prog} in
23/* | [A-Za-z]:[\\/]*) ;;
24*) prog=../${prog} ;;
25esac
26
27# Set newsrcdir to something subdirectories can use.
28case ${srcdir} in
29/* | [A-Za-z]:[\\/]*) newsrcdir=${srcdir} ;;
30*) newsrcdir=../${srcdir} ;;
31esac
32
33for f in `ls -a ${srcdir}`; do
34  if [ -d ${srcdir}/$f ]; then
35    found=
36    for i in ${ignore} ${ignore_additional}; do
37      if [ "$f" = "$i" ]; then
38        found=yes
39      fi
40    done
41    if [ -z "${found}" ]; then
42      echo "$f          ..working in"
43      if [ -d $f ]; then true; else mkdir $f; fi
44      (cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
45    fi
46  else
47    echo "$f            ..linked"
48    rm -f $f
49    ln -s ${srcdir}/$f .
50  fi
51done
52
53exit 0
Note: See TracBrowser for help on using the repository browser.