summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2001-09-06 10:42:47 +0000
committerKen Raeburn <raeburn@mit.edu>2001-09-06 10:42:47 +0000
commitb352d87a13c838821fcde68167ee53f2ce93bd09 (patch)
treec1bf6795343f3e59a823d62a17192da79cd3bfef /src/util
parentd4996856eb0ea1695289f1b19c4d1d1bc559d388 (diff)
downloadkrb5-b352d87a13c838821fcde68167ee53f2ce93bd09.tar.gz
krb5-b352d87a13c838821fcde68167ee53f2ce93bd09.tar.xz
krb5-b352d87a13c838821fcde68167ee53f2ce93bd09.zip
now process myfulldir arg too
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@13732 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util')
-rw-r--r--src/util/depgen.sed50
1 files changed, 46 insertions, 4 deletions
diff --git a/src/util/depgen.sed b/src/util/depgen.sed
index fc40c442e..ca920f3a9 100644
--- a/src/util/depgen.sed
+++ b/src/util/depgen.sed
@@ -1,18 +1,60 @@
-# input srctop something like ../../../../asrc/lib/krb5/asn.1/../../../
+# input srctop myfulldir
+# something like ../../../../asrc/lib/krb5/asn.1/../../../ lib/krb5/asn.1
+#
# output a sequence of sed commands for recognizing and replacing srctop,
# something like:
# s; ../../../../asrc/lib/krb5/asn.1/../../../; $(SRCTOP)/;g
# s; ../../../../asrc/lib/krb5/../../; $(SRCTOP)/;g
# s; ../../../../asrc/lib/../; $(SRCTOP)/;g
# s; ../../../../asrc/; $(SRCTOP)/;g
+# s; $(SRCTOP)/lib/krb5/asn.1/; $(srcdir)/;g
+# s; $(SRCTOP)/lib/krb5/; $(srcdir)/../;g
+# ...
+# just process first "word"
+h
+s/ .*$//
+
+# replace multiple slashes with one single one
+s,///*,/,g
+# replace /./ with /
+s,/\./,/,g
+# strip trailing slashes, but not if it'd leave the string empty
+s,\(..*\)///*,\1/,
+# quote dots
s,\.,\\.,g
+# turn string into sed pattern
s,^,s; ,
s,$,/; $(SRCTOP)/;g,
+# emit potentially multiple patterns
:loop
-/\/[a-z][a-z0-9_.\-]*\/\\\.\\\.\// {
+/\/[a-z][a-zA-Z0-9_.\-]*\/\\\.\\\.\// {
p
-s;/[a-z][a-z0-9_.\-]*/\\\.\\\./;/;
+s;/[a-z][a-zA-Z0-9_.\-]*/\\\.\\\./;/;
bloop
}
-# implicit print at end
+p
+
+# now process second "word"
+x
+s/^.* //
+
+# treat "." specially
+/^\.$/{
+d
+q
+}
+# make sed pattern
+s,^,s; $(SRCTOP)/,
+s,$,/; $(srcdir)/;g,
+# emit potentially multiple patterns
+:loop2
+\,[^/)]/; , {
+p
+# strip trailing dirname off first part; append "../" to second part
+s,/[a-z][a-zA-Z0-9_.\-]*/; ,/; ,
+s,/;g,/../;g,
+bloop2
+}
+# kill implicit print at end; don't change $(SRCTOP) into .. sequence
+d