Add libguestfs-test-tool.
[libguestfs.git] / m4 / progtest.m4
1 # progtest.m4 serial 3 (gettext-0.12)
2 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
3 dnl This file is free software, distributed under the terms of the GNU
4 dnl General Public License.  As a special exception to the GNU General
5 dnl Public License, this file may be distributed as part of a program
6 dnl that contains a configuration script generated by Autoconf, under
7 dnl the same distribution terms as the rest of that program.
8 dnl
9 dnl This file can can be used in projects which are not available under
10 dnl the GNU General Public License or the GNU Library General Public
11 dnl License but which still want to provide support for the GNU gettext
12 dnl functionality.
13 dnl Please note that the actual code of the GNU gettext library is covered
14 dnl by the GNU Library General Public License, and the rest of the GNU
15 dnl gettext package package is covered by the GNU General Public License.
16 dnl They are *not* in the public domain.
17
18 dnl Authors:
19 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
20
21 # Search path for a program which passes the given test.
22
23 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
24 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
25 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
26 [
27 # Prepare PATH_SEPARATOR.
28 # The user is always right.
29 if test "${PATH_SEPARATOR+set}" != set; then
30   echo "#! /bin/sh" >conf$$.sh
31   echo  "exit 0"   >>conf$$.sh
32   chmod +x conf$$.sh
33   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
34     PATH_SEPARATOR=';'
35   else
36     PATH_SEPARATOR=:
37   fi
38   rm -f conf$$.sh
39 fi
40
41 # Find out how to test for executable files. Don't use a zero-byte file,
42 # as systems may use methods other than mode bits to determine executability.
43 cat >conf$$.file <<_ASEOF
44 #! /bin/sh
45 exit 0
46 _ASEOF
47 chmod +x conf$$.file
48 if test -x conf$$.file >/dev/null 2>&1; then
49   ac_executable_p="test -x"
50 else
51   ac_executable_p="test -f"
52 fi
53 rm -f conf$$.file
54
55 # Extract the first word of "$2", so it can be a program name with args.
56 set dummy $2; ac_word=[$]2
57 AC_MSG_CHECKING([for $ac_word])
58 AC_CACHE_VAL(ac_cv_path_$1,
59 [case "[$]$1" in
60   [[\\/]]* | ?:[[\\/]]*)
61     ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
62     ;;
63   *)
64     ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
65     for ac_dir in ifelse([$5], , $PATH, [$5]); do
66       IFS="$ac_save_IFS"
67       test -z "$ac_dir" && ac_dir=.
68       for ac_exec_ext in '' $ac_executable_extensions; do
69         if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
70           if [$3]; then
71             ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
72             break 2
73           fi
74         fi
75       done
76     done
77     IFS="$ac_save_IFS"
78 dnl If no 4th arg is given, leave the cache variable unset,
79 dnl so AC_PATH_PROGS will keep looking.
80 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
81 ])dnl
82     ;;
83 esac])dnl
84 $1="$ac_cv_path_$1"
85 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
86   AC_MSG_RESULT([$]$1)
87 else
88   AC_MSG_RESULT(no)
89 fi
90 AC_SUBST($1)dnl
91 ])