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
,/:/);
41 /@NP_VERSION@
/ {sub(/@NP_VERSION@
/,ENVIRON["NP_VERSION"]);}
43 # scripting language (first line)
45 /^
#! ?\/.*\/python/ {sub(/^#! ?\/.*\/python/,"#! @PYTHON@");}
46 /^
#! ?\/.*\/perl/ {sub(/^#! ?\/.*\/perl/,"#! @PERL@");}
47 /^
#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");}
48 /^
#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");}
50 # If a script contains a reference to a fully qualified command,
51 # subst will replace the fully qualified command with whatever is
52 # returned from the which subroutine. run before changes to INC to add libexecdir
53 # FIXME: Prepend executables with a substitution keyword instead.
55 /^
[^
#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// {
56 match($
0,/(\
/.
*)?\
/(bin
|sbin
|lib
|libexec
)\
/[-_a
-zA
-Z0
-9]+/);
57 c=
substr($
0,RSTART,RLENGTH);
61 # add to libexecdir to INC for perl utils.pm
62 /^use
/ { if (/lib
/) { if (/utils.pm
|"."/ ) {sub(/utils.pm
|"."/,led
() )} } }
65 # Trusted path mechanism (deprecated)
67 /^
[ \t]*\$ENV
[ \t]*\
{[ \t'"]*PATH[ \t"']*\
}[ \t]*=
/ {
68 sub(/\=
[ \t]*['"][^"']+["']/,"=
'@with_trusted_path@' # autoconf-derived");
71 /^
[\t ]*(export
[\t ]*)?PATH
[\t ]*=
['"]+.+["']$
/ {
72 sub(/\=.
*$
/,"='@with_trusted_path@' # autoconf-derived");