Commit | Line | Data |
---|---|---|
5f51ce50 AD |
1 | ?RCS: $Id: Extract.U,v 3.0.1.1 1994/10/29 15:51:46 ram Exp $ |
2 | ?RCS: | |
3 | ?RCS: Copyright (c) 1991-1993, Raphael Manfredi | |
4 | ?RCS: | |
5 | ?RCS: You may redistribute only under the terms of the Artistic Licence, | |
6 | ?RCS: as specified in the README file that comes with the distribution. | |
7 | ?RCS: You may reuse parts of this distribution only within the terms of | |
8 | ?RCS: that same Artistic Licence; a copy of which may be found at the root | |
9 | ?RCS: of the source tree for dist 3.0. | |
10 | ?RCS: | |
11 | ?RCS: This private version for perl5 will also extract files from | |
12 | ?RCS: extension MANIFEST. (ext/Blah/MANIFEST). | |
13 | ?RCS: | |
14 | ?RCS: $Log: Extract.U,v $ | |
15 | ?RCS: Revision 3.0.1.1 1994/10/29 15:51:46 ram | |
16 | ?RCS: patch36: added ?F: line for metalint file checking | |
17 | ?RCS: | |
18 | ?RCS: Revision 3.0 1993/08/18 12:04:52 ram | |
19 | ?RCS: Baseline for dist 3.0 netwide release. | |
20 | ?RCS: | |
21 | ?X: | |
22 | ?X: This unit produces a shell script which can be doted in order to extract | |
23 | ?X: .SH files with variable substitutions. | |
24 | ?X: | |
25 | ?MAKE:Extract: Nothing | |
26 | ?MAKE: -pick add $@ %< | |
27 | ?F:./extract !config_h.SH | |
28 | ?T:CONFIG dir file shlist xxx | |
29 | : script used to extract .SH files with variable substitutions | |
30 | cat >extract <<'EOS' | |
31 | CONFIG=true | |
32 | echo "Doing variable substitutions on .SH files..." | |
33 | if test -f MANIFEST; then | |
34 | shlist=`awk '{print $1}' <MANIFEST | grep '\.SH'` | |
35 | : Pick up possible extension manifests. | |
36 | for dir in ext/* ; do | |
37 | if test -f $dir/MANIFEST; then | |
38 | xxx=`awk '{print $1}' < $dir/MANIFEST | | |
39 | sed -n "/\.SH$/ s@^@$dir/@p"` | |
40 | shlist="$shlist $xxx" | |
41 | fi | |
42 | done | |
43 | set x $shlist | |
44 | else | |
45 | echo "(Looking for .SH files under the current directory.)" | |
46 | set x `find . -name "*.SH" -print` | |
47 | fi | |
48 | shift | |
49 | case $# in | |
50 | 0) set x *.SH; shift;; | |
51 | esac | |
52 | if test ! -f $1; then | |
53 | shift | |
54 | fi | |
55 | for file in $*; do | |
56 | case "$file" in | |
57 | */*) | |
58 | dir=`expr X$file : 'X\(.*\)/'` | |
59 | file=`expr X$file : 'X.*/\(.*\)'` | |
60 | (cd $dir && . ./$file) | |
61 | ;; | |
62 | *) | |
63 | . ./$file | |
64 | ;; | |
65 | esac | |
66 | done | |
67 | if test -f config_h.SH; then | |
68 | if test ! -f config.h; then | |
69 | : oops, they left it out of MANIFEST, probably, so do it anyway. | |
70 | . ./config_h.SH | |
71 | fi | |
72 | fi | |
73 | EOS | |
74 |