You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by dr...@locus.apache.org on 2000/12/10 13:06:55 UTC

cvs commit: apr-util/build PrintPath

dreid       00/12/10 04:06:55

  Modified:    .        buildconf.sh
  Added:       build    PrintPath
  Log:
  Add Apache's PrintPath and change buildconf.sh to use it.
  
  This allows BeOS to configure apr-util.
  
  Revision  Changes    Path
  1.4       +1 -1      apr-util/buildconf.sh
  
  Index: buildconf.sh
  ===================================================================
  RCS file: /home/cvs/apr-util/buildconf.sh,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- buildconf.sh	2000/12/06 02:19:45	1.3
  +++ buildconf.sh	2000/12/10 12:06:55	1.4
  @@ -4,7 +4,7 @@
   # Build aclocal.m4 from libtool's libtool.m4 and our own M4 files.
   #
   ### we may need to get smarter with these two lines (e.g. PrintPath)
  -ltpath=`which libtoolize`
  +ltpath=`build/PrintPath libtoolize`
   ltpath=`dirname $ltpath`
   ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
   echo "Incorporating $ltfile into aclocal.m4 ..."
  
  
  
  1.1                  apr-util/build/PrintPath
  
  Index: PrintPath
  ===================================================================
  #!/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