From b2ff82ac5df4eb431e27dabb1087b1fb88b54bc6 Mon Sep 17 00:00:00 2001 From: Theodore Tso Date: Thu, 16 Jun 1994 03:41:06 +0000 Subject: [PATCH] Added lndir so that people with brain-damaged make's can do multi-platform builds. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3829 dc483132-0cff-0310-8789-dd5450dbe970 --- src/autotools/lndir | 97 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/autotools/lndir diff --git a/src/autotools/lndir b/src/autotools/lndir new file mode 100644 index 000000000..e12503e1d --- /dev/null +++ b/src/autotools/lndir @@ -0,0 +1,97 @@ +#! /bin/sh + +# lndir - create shadow link tree +# +# Time stamp <89/11/28 18:56:54 gildea> +# By Stephen Gildea based on +# XConsortium: lndir.sh,v 1.1 88/10/20 17:37:16 jim Exp +# +# Used to create a copy of the a directory tree that has links for all non- +# directories (except those named RCS). If you are building the distribution +# on more than one machine, you should use this script. +# +# If your master sources are located in /usr/local/src/X and you would like +# your link tree to be in /usr/local/src/new-X, do the following: +# +# % mkdir /usr/local/src/new-X +# % cd /usr/local/src/new-X +# % lndir ../X +# +# Note: does not link files beginning with "." Is this a bug or a feature? +# +# Improvements over R3 version: +# Allows the fromdir to be relative: usually you want to say "../dist" +# The name is relative to the todir, not the current directory. +# +# Bugs in R3 version fixed: +# Do "pwd" command *after* "cd $DIRTO". +# Don't try to link directories, avoiding error message " exists". +# Barf with Usage message if either DIRFROM *or* DIRTO is not a directory. + +USAGE="Usage: $0 fromdir [todir]" + +if [ $# -lt 1 -o $# -gt 2 ] +then + echo "$USAGE" + exit 1 +fi + +DIRFROM=$1 + +if [ $# -eq 2 ]; +then + DIRTO=$2 +else + DIRTO=. +fi + +if [ ! -d $DIRTO ] +then + echo "$0: $DIRTO is not a directory" + echo "$USAGE" + exit 2 +fi + +cd $DIRTO + +if [ ! -d $DIRFROM ] +then + echo "$0: $DIRFROM is not a directory" + echo "$USAGE" + exit 2 +fi + +pwd=`pwd` + +if [ `(cd $DIRFROM; pwd)` = $pwd ] +then + echo "$pwd: FROM and TO are identical!" + exit 1 +fi + +for file in `ls $DIRFROM` +do + if [ ! -d $DIRFROM/$file ] + then + ln -s $DIRFROM/$file . + else + if [ $file != RCS -a $file != CVS -a $file != . -a $file != .. ] + then + echo $file: + mkdir $file + (cd $file + pwd=`pwd` + case "$DIRFROM" in + /*) ;; + *) DIRFROM=../$DIRFROM ;; + esac + if [ `(cd $DIRFROM/$file; pwd)` = $pwd ] + then + echo "$pwd: FROM and TO are identical!" + exit 1 + fi + $0 $DIRFROM/$file + ) + fi + fi +done -- 2.26.2