annotate src/mk-pkg-add @ 5536:f16c05db6250 ss-2-9-4

[project @ 2005-11-11 19:53:51 by jwe]
author jwe
date Fri, 11 Nov 2005 19:53:52 +0000
parents e107161b8ca3
children b800ae36fc6a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5534
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
1 #! /bin/sh -e
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
2
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
3 # Create additional links to .oct files that define more than one
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
4 # function.
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
5
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
6 # If the first arg is --print, only print the links we need to make.
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
7
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
8 # The first non-option arg is taken as the directory where the .oct
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
9 # files are installed. The remaining arguments should be the list of
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
10 # .df files corresponding to the source files that were used to
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
11 # create the .oct files.
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
12
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
13 SED=${SED:-'sed'}
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
14
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
15 if [ $1 = "--prefix" ]; then
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
16 shift
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
17 prefix="$1"
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
18 shift
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
19 fi
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
20
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
21 for f in "$@"; do
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
22 if [ -f $f ]; then
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
23
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
24 ## Compute and print the autoloads.
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
25
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
26 base=`basename $f | $SED 's/\.df$//'`
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
27 fcns=`grep '^ *XDEFUN_DLD_INTERNAL' $f |\
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
28 $SED -e 's/XDEFUN_DLD_INTERNAL *( *//' -e 's/ *,.*$//' |\
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
29 sort -u`
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
30 if [ -n "$fcns" ]; then
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
31 for n in $fcns; do
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
32 if [ "$n" = "$base" ]; then
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
33 true
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
34 else
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
35 if [ -n "$prefix" ]; then
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
36 echo "autoload (\"$n\", \"$prefix/$base.oct\");"
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
37 else
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
38 echo "autoload (\"$n\", \"$base.oct\");"
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
39 fi
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
40 fi
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
41 done
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
42 fi
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
43
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
44 ## Process PKG_ADD directives after autoloads so that all
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
45 ## necessary functions can be found before they are used.
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
46
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
47 $SED -n -e 's,^//* *PKG_ADD: *,,p' \
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
48 -e 's,^/\* *PKG_ADD: *\(.*\) *\*/ *$,\1,p' $f
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
49
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
50 fi
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
51 done
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
52
e107161b8ca3 [project @ 2005-11-11 17:44:05 by jwe]
jwe
parents:
diff changeset
53 exit $?