summaryrefslogblamecommitdiffstats
path: root/aclocal.m4
blob: f9a645017a99ccbba3540459fb187c30ace89527 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                                                

                                                     




                                                                     
                                                                

                                                           



                                                                   
                             
                   








                                                                 


                                           
                   
                                   
       
                                    
                                                                          

                                             












                                                 







                                                                                     
                   



              






















































                                                                                
dnl Allow configure to specify a specific binary
dnl 1: Environment variable
dnl 2: binary name
dnl 3: optional list of alternative binary names
dnl 4: optional list of additional search directories
AC_DEFUN([QUILT_COMPAT_PROG_PATH],[
  m4_define([internal_$2_cmd],[esyscmd(ls compat/$2.in 2>/dev/null)])

  AC_ARG_WITH($2, AC_HELP_STRING(
    [--with-$2], [name of the $2 executable to use]
                 m4_if(internal_$2_cmd,[],[],[ (use --without-$2
                          to use an internal mechanism)])),
  [
    if test x"$withval" = xnone; then
      AC_MSG_ERROR([Invalid configure argument.  use --without-$2])
    fi
    if test x"$withval" != xno; then
      AC_MSG_CHECKING(for $2)
      $1="$withval"
      if test -e "$$1"; then
	if test ! -f "$$1" -a ! -h "$$1" || test ! -x "$$1"; then
	  AC_MSG_ERROR([$$1 is not an executable file])
	fi
      fi
      AC_MSG_RESULT([$$1])
      if test ! -e "$$1"; then
        AC_MSG_WARN([$$1 does not exist])
      fi
      COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
    fi
  ],[
    m4_if([$3],[],[
      AC_PATH_PROG($1,$2,,$PATH:$4)
    ],[
      AC_PATH_PROGS($1,$3,,$PATH:$4)
      if test -n "$$1" -a "`expr "$$1" : '.*/\([[^/]]*\)$'`" != "$2"; then
	COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
      fi
    ])
    m4_if([$4],[],[],[
      if test -n "$$1"; then
	as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
        for dir in "$4"; do
          if test "`dirname $$1`" = "$dir"; then
            COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
	    break
	  fi
        done
	IFS="$as_save_IFS"
      fi
    ])
  ])
  if test -z "$$1"; then
    m4_if(internal_$2_cmd,[],[
      AC_MSG_ERROR([Please specify the location of $2 with the option '--with-$2'])
    ],[
      AC_MSG_WARN([Using internal $2 mechanism.  Use option '--with-$2' to override])
      COMPAT_PROGRAMS="$COMPAT_PROGRAMS $2"
      $1=$2
      INTERNAL_$1=1
    ])
  fi
  AC_SUBST($1)
])

dnl Allow configure to specify a specific binary
dnl This variant is for optional binaries.
dnl 1: Environment variable
dnl 2: binary name
dnl 3: optional list of alternative binary names
dnl 4: optional list of additional search directories
AC_DEFUN([QUILT_COMPAT_PROG_PATH_OPT],[
  AC_ARG_WITH($2, AC_HELP_STRING(
    [--with-$2], [name of the $2 executable to use]),
  [
    if test x"$withval" != xno; then
      AC_MSG_CHECKING(for $2)
      $1="$withval"
      if test -e "$$1"; then
	if test ! -f "$$1" -a ! -h "$$1" || test ! -x "$$1"; then
	  AC_MSG_ERROR([$$1 is not an executable file])
	fi
      fi
      AC_MSG_RESULT([$$1])
      if test ! -e "$$1"; then
        AC_MSG_WARN([$$1 does not exist])
      fi
      COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
    fi
  ],[
    m4_if([$3],[],[
      AC_PATH_PROG($1,$2,,$PATH:$4)
    ],[
      AC_PATH_PROGS($1,$3,,$PATH:$4)
      if test -n "$$1" -a "`expr "$$1" : '.*/\([[^/]]*\)$'`" != "$2"; then
	COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
      fi
    ])
    m4_if([$4],[],[],[
      if test -n "$$1"; then
	as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
        for dir in "$4"; do
          if test "`dirname $$1`" = "$dir"; then
            COMPAT_SYMLINKS="$COMPAT_SYMLINKS $2"
	    break
	  fi
        done
	IFS="$as_save_IFS"
      fi
    ])
    if test -z "$$1"; then
      AC_MSG_WARN([$2 not found, some optional functionalities will be missing])
    fi
  ])
  if test -z "$$1"; then
    $1=$2
  fi
  AC_SUBST($1)
])