Commit 37fc2cf5 authored by Guido Trotter's avatar Guido Trotter
Browse files

configure: check for socat and its escape feature



Currently we use a static value for the socat path, or we trust the
user-provided one. With this patch we still trust any user provided
value, but if none is passed we check for socat on the machine we're
being configured on. This allows us also to check if we can or cannot
use the escape= feature in socat.

If the user has forced the path in, he can also pass --with-socat-escape
in order to force the escape functionality to be used, even if a check
is not done.
Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent 66e7e01a
...@@ -411,6 +411,7 @@ lib/_autoconf.py: Makefile stamp-directories ...@@ -411,6 +411,7 @@ lib/_autoconf.py: Makefile stamp-directories
echo "KVM_PATH = '$(KVM_PATH)'"; \ echo "KVM_PATH = '$(KVM_PATH)'"; \
echo "KVM_MIGRATION_PORT = '$(KVM_MIGRATION_PORT)'"; \ echo "KVM_MIGRATION_PORT = '$(KVM_MIGRATION_PORT)'"; \
echo "SOCAT_PATH = '$(SOCAT_PATH)'"; \ echo "SOCAT_PATH = '$(SOCAT_PATH)'"; \
echo "SOCAT_ESCAPE = '$(SOCAT_ESCAPE)'"; \
echo "LVM_STRIPECOUNT = $(LVM_STRIPECOUNT)"; \ echo "LVM_STRIPECOUNT = $(LVM_STRIPECOUNT)"; \
echo "TOOLSDIR = '$(toolsdir)'"; \ echo "TOOLSDIR = '$(toolsdir)'"; \
echo "GNT_SCRIPTS = [$(foreach i,$(notdir $(gnt_scripts)),'$(i)',)]"; \ echo "GNT_SCRIPTS = [$(foreach i,$(notdir $(gnt_scripts)),'$(i)',)]"; \
......
...@@ -122,11 +122,16 @@ AC_SUBST(KVM_MIGRATION_PORT, $kvm_migration_port) ...@@ -122,11 +122,16 @@ AC_SUBST(KVM_MIGRATION_PORT, $kvm_migration_port)
AC_ARG_WITH([socat-path], AC_ARG_WITH([socat-path],
[AS_HELP_STRING([--with-socat-path=PATH], [AS_HELP_STRING([--with-socat-path=PATH],
[absolute path to the socat binary] [absolute path to the socat binary]
[ (default is /usr/bin/socat)] [ (default is to let configure search for it)]
)], )],
[socat_path="$withval"], [SOCAT="$withval"],
[socat_path="/usr/bin/socat"]) [])
AC_SUBST(SOCAT_PATH, $socat_path)
AC_ARG_WITH([socat-escape],
[AS_HELP_STRING([--with-socat-escape],
[enable escape functionality found in newer socat])],
[],
[check_socat_escape=yes])
# ---with-lvm-stripecount=... # ---with-lvm-stripecount=...
AC_ARG_WITH([lvm-stripecount], AC_ARG_WITH([lvm-stripecount],
...@@ -173,6 +178,32 @@ then ...@@ -173,6 +178,32 @@ then
AC_MSG_WARN([dot (from the graphviz suite) not found, documentation rebuild not possible]) AC_MSG_WARN([dot (from the graphviz suite) not found, documentation rebuild not possible])
fi fi
if test -z "$SOCAT" -a -n "$check_socat_escape"
then
AC_CACHE_CHECK([for socat with the escape feature], [ac_cv_path_SOCAT],
[AC_PATH_PROGS_FEATURE_CHECK(SOCAT, [socat],
[[$ac_path_SOCAT -hh | grep -q escape \
&& ac_cv_path_SOCAT=$ac_path_SOCAT \
SOCAT=$ac_cv_path_SOCAT \
with_socat_escape=yes ac_path_SOCAT_found=:]],
[AC_MSG_WARN([no escape feature found])])])
fi
if test -z "$SOCAT"
then
AC_CACHE_CHECK([for socat], [ac_cv_path_SOCAT],
[AC_PATH_PROGS_FEATURE_CHECK(SOCAT, [socat],
[[ac_cv_path_SOCAT=$ac_path_SOCAT \
SOCAT=$ac_cv_path_SOCAT ac_path_SOCAT_found=:]],
[AC_MSG_ERROR([socat not found])])])
fi
AC_SUBST([SOCAT_PATH], [$SOCAT])
if test "x$with_socat_escape" = xyes
then
AC_SUBST([SOCAT_ESCAPE], [1])
fi
# Check for Python # Check for Python
AM_PATH_PYTHON(2.4) AM_PATH_PYTHON(2.4)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment