84 строки
3.0 KiB
Plaintext
84 строки
3.0 KiB
Plaintext
#***************************************************************************
|
|
# $Id$
|
|
#
|
|
# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software and its
|
|
# documentation for any purpose and without fee is hereby granted, provided
|
|
# that the above copyright notice appear in all copies and that both that
|
|
# copyright notice and this permission notice appear in supporting
|
|
# documentation, and that the name of M.I.T. not be used in advertising or
|
|
# publicity pertaining to distribution of the software without specific,
|
|
# written prior permission. M.I.T. makes no representations about the
|
|
# suitability of this software for any purpose. It is provided "as is"
|
|
# without express or implied warranty.
|
|
#
|
|
#***************************************************************************
|
|
|
|
# File version for 'aclocal' use. Keep it a single number.
|
|
# serial 3
|
|
|
|
|
|
dnl CARES_CHECK_PATH_SEPARATOR
|
|
dnl -------------------------------------------------
|
|
dnl Check and compute the path separator for us. This
|
|
dnl path separator is the symbol used to diferentiate
|
|
dnl or separate paths inside the PATH environment var.
|
|
|
|
AC_DEFUN([CARES_CHECK_PATH_SEPARATOR], [
|
|
if test -z "$cares_cv_PATH_SEPARATOR"; then
|
|
if test -z "$PATH"; then
|
|
AC_MSG_ERROR([PATH not set. Cannot continue without PATH being set.])
|
|
fi
|
|
dnl Directory count in PATH when using a colon separator.
|
|
tst_dirs_col=0
|
|
tst_save_IFS=$IFS; IFS=':'
|
|
for tst_dir in $PATH; do
|
|
IFS=$tst_save_IFS
|
|
test -d "$tst_dir" && tst_dirs_col=`expr $tst_dirs_col + 1`
|
|
done
|
|
IFS=$tst_save_IFS
|
|
dnl Directory count in PATH when using a semicolon separator.
|
|
tst_dirs_sem=0
|
|
tst_save_IFS=$IFS; IFS=';'
|
|
for tst_dir in $PATH; do
|
|
IFS=$tst_save_IFS
|
|
test -d "$tst_dir" && tst_dirs_sem=`expr $tst_dirs_sem + 1`
|
|
done
|
|
IFS=$tst_save_IFS
|
|
if test $tst_dirs_sem -eq $tst_dirs_col; then
|
|
dnl When both counting methods give the same result we do not want to
|
|
dnl chose one over the other, and consider auto-detection not possible.
|
|
if test -z "$PATH_SEPARATOR"; then
|
|
dnl Stop dead until user provides PATH_SEPARATOR definition.
|
|
AC_MSG_ERROR([PATH_SEPARATOR not set. Cannot continue without it.])
|
|
fi
|
|
else
|
|
dnl Separator with the greater directory count is the auto-detected one.
|
|
if test $tst_dirs_sem -gt $tst_dirs_col; then
|
|
tst_auto_separator=';'
|
|
else
|
|
tst_auto_separator=':'
|
|
fi
|
|
if test -z "$PATH_SEPARATOR"; then
|
|
dnl Simply use the auto-detected one when not already set.
|
|
PATH_SEPARATOR="$tst_auto_separator"
|
|
fi
|
|
fi
|
|
cares_cv_PATH_SEPARATOR="$PATH_SEPARATOR"
|
|
fi
|
|
AC_SUBST([PATH_SEPARATOR])
|
|
AC_SUBST([PATH])
|
|
])
|
|
|
|
|
|
dnl CARES_CHECK_PATH_SEPARATOR_REQUIRED
|
|
dnl -------------------------------------------------
|
|
dnl Use this to ensure that the path separator check
|
|
dnl macro is only expanded and included once.
|
|
|
|
AC_DEFUN([CARES_CHECK_PATH_SEPARATOR_REQUIRED], [
|
|
AC_REQUIRE([CARES_CHECK_PATH_SEPARATOR])dnl
|
|
])
|
|
|