summaryrefslogtreecommitdiffstats
path: root/build/PrintPath
diff options
context:
space:
mode:
authorWilfredo Sanchez <wsanchez@apache.org>2002-11-29 00:31:37 +0100
committerWilfredo Sanchez <wsanchez@apache.org>2002-11-29 00:31:37 +0100
commit5eb2ee00c039147777daa018fe9b22cacef1c09f (patch)
treefd951f46994893ff20d70b649f5f21fc474f8ba0 /build/PrintPath
parentDon't include apr_network.m4 and apr_threads.m4; we don't use them. (diff)
downloadapache2-5eb2ee00c039147777daa018fe9b22cacef1c09f.tar.xz
apache2-5eb2ee00c039147777daa018fe9b22cacef1c09f.zip
Changes to reduce dependency on in-tree apr and apr-util.
Change AC_CONFIG_AUX_DIR in configure to build from srclib/apr/build. Have buildconf copy the needed files (config.guess, config.sub, PrintPath) from srclib/apr/build to build. Change binbuild.sh to stop using srclib/apr. This gets to to where ./configure --with-apr --with-apr-util actually works without an in-tree apr and apr-util, though we still need them in-tree to run buildconf. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97671 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build/PrintPath')
-rwxr-xr-xbuild/PrintPath116
1 files changed, 116 insertions, 0 deletions
diff --git a/build/PrintPath b/build/PrintPath
new file mode 100755
index 0000000000..68435f3744
--- /dev/null
+++ b/build/PrintPath
@@ -0,0 +1,116 @@
+#!/bin/sh
+# Look for program[s] somewhere in $PATH.
+#
+# Options:
+# -s
+# Do not print out full pathname. (silent)
+# -pPATHNAME
+# Look in PATHNAME instead of $PATH
+#
+# Usage:
+# PrintPath [-s] [-pPATHNAME] program [program ...]
+#
+# Initially written by Jim Jagielski for the Apache configuration mechanism
+# (with kudos to Kernighan/Pike)
+#
+# This script falls under the Apache License.
+# See http://www.apache.org/docs/LICENSE
+
+##
+# Some "constants"
+##
+pathname=$PATH
+echo="yes"
+
+##
+# Find out what OS we are running for later on
+##
+os=`(uname) 2>/dev/null`
+
+##
+# Parse command line
+##
+for args in $*
+do
+ case $args in
+ -s ) echo="no" ;;
+ -p* ) pathname="`echo $args | sed 's/^..//'`" ;;
+ * ) programs="$programs $args" ;;
+ esac
+done
+
+##
+# Now we make the adjustments required for OS/2 and everyone
+# else :)
+#
+# First of all, all OS/2 programs have the '.exe' extension.
+# Next, we adjust PATH (or what was given to us as PATH) to
+# be whitespace seperated directories.
+# Finally, we try to determine the best flag to use for
+# test/[] to look for an executable file. OS/2 just has '-r'
+# but with other OSs, we do some funny stuff to check to see
+# if test/[] knows about -x, which is the prefered flag.
+##
+
+if [ "x$os" = "xOS/2" ]
+then
+ ext=".exe"
+ pathname=`echo -E $pathname |
+ sed 's/^;/.;/
+ s/;;/;.;/g
+ s/;$/;./
+ s/;/ /g
+ s/\\\\/\\//g' `
+ test_exec_flag="-r"
+else
+ ext="" # No default extensions
+ pathname=`echo $pathname |
+ sed 's/^:/.:/
+ s/::/:.:/g
+ s/:$/:./
+ s/:/ /g' `
+ # Here is how we test to see if test/[] can handle -x
+ testfile="pp.t.$$"
+
+ cat > $testfile <<ENDTEST
+#!/bin/sh
+if [ -x / ] || [ -x /bin ] || [ -x /bin/ls ]; then
+ exit 0
+fi
+exit 1
+ENDTEST
+
+ if `/bin/sh $testfile 2>/dev/null`; then
+ test_exec_flag="-x"
+ else
+ test_exec_flag="-r"
+ fi
+ rm -f $testfile
+fi
+
+for program in $programs
+do
+ for path in $pathname
+ do
+ if [ $test_exec_flag $path/${program}${ext} ] && \
+ [ ! -d $path/${program}${ext} ]; then
+ if [ "x$echo" = "xyes" ]; then
+ echo $path/${program}${ext}
+ fi
+ exit 0
+ fi
+
+# Next try without extension (if one was used above)
+ if [ "x$ext" != "x" ]; then
+ if [ $test_exec_flag $path/${program} ] && \
+ [ ! -d $path/${program} ]; then
+ if [ "x$echo" = "xyes" ]; then
+ echo $path/${program}
+ fi
+ exit 0
+ fi
+ fi
+ done
+done
+exit 1
+