3 function which
(c
,path
) {
12 cmd =
"test -x " path
[dir
] "/" c
;
14 return path
[dir
] "/" c
;
22 # used to replace "use lib utils.pm" with "use lib @libexecdir"
25 led1 =
"@libexecdir@";
26 led2 =
"@exec_prefix@";
28 if ( match(led1
, /^\$\
{exec_prefix\
}/ ) != 0 ) {
29 return "\"" led3
"/libexec\" " ;
32 return "\"" led1
"\"" ;
36 split(ENVIRON["PATH"] ":/sbin:/usr/sbin",path
,/:/);
40 # scripting language (first line)
42 /^
#! ?\/.*\/python/ {sub(/^#! ?\/.*\/python/,"#! @PYTHON@");}
43 /^
#! ?\/.*\/perl/ {sub(/^#! ?\/.*\/perl/,"#! @PERL@");}
44 /^
#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");}
45 /^
#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");}
47 # add to libexecdir to INC for perl utils.pm
48 /^use
/ { if (/lib
/) { if (/utils.pm
|"."/ ) {sub(/utils.pm
|"."/,led
() )} } }
51 # Trusted path mechanism (deprecated)
53 /^
[ \t]*\$ENV
[ \t]*\
{[ \t'"]*PATH[ \t"']*\
}[ \t]*=
/ {
54 sub(/\=
[ \t]*['"][^"']+["']/,"=
'@with_trusted_path@' # autoconf-derived");
57 /^
[\t ]*(export
[\t ]*)?PATH
[\t ]*=
['"]+.+["']$
/ {
58 sub(/\=.
*$
/,"='@with_trusted_path@' # autoconf-derived");
61 # If a script contains a reference to a fully qualified command,
62 # subst will replace the fully qualified command with whatever is
63 # returned from the which subroutine
65 /^
[^
#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// {
66 match($
0,/(\
/.
*)?\
/(bin
|sbin
|lib
|libexec
)\
/[-_a
-zA
-Z0
-9]+/);
67 c=
substr($
0,RSTART,RLENGTH);