Currently the build fails if /usr/local/include does not exist since its use is hardcoded in configure.ac --- configure.ac | 86 ++++++++++++++------------------------------------------- 1 files changed, 21 insertions(+), 65 deletions(-) diff --git a/configure.ac b/configure.ac index 25cc15b..39e3a05 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,7 @@ DEVMAPPER_REQUIRED=1.0.0 LIBCURL_REQUIRED="7.18.0" LIBPCAP_REQUIRED="1.0.0" LIBNL_REQUIRED="1.1" +LIBSSH2_REQUIRED="1.0" dnl Checks for C compiler. AC_PROG_CC @@ -258,7 +259,7 @@ AC_ARG_WITH([openvz], AC_ARG_WITH([vmware], AC_HELP_STRING([--with-vmware], [add VMware support @<:@default=yes@:>@]),[],[with_vmware=yes]) AC_ARG_WITH([libssh2], - AC_HELP_STRING([--with-libssh2=@<:@PFX@:>@], [libssh2 location @<:@default=/usr/local/lib@:>@]),[],[with_libssh2=yes]) + AC_HELP_STRING([--with-libssh2], [libssh2 location @<:@default=check@:>@]),[],[with_libssh2=check]) AC_ARG_WITH([phyp], AC_HELP_STRING([--with-phyp], [add PHYP support @<:@default=check@:>@]),[],[with_phyp=check]) AC_ARG_WITH([xenapi], @@ -1328,78 +1329,33 @@ AM_CONDITIONAL([WITH_UML], [test "$with_uml" = "yes"]) dnl -dnl libssh checks +dnl check for libssh2 (PHYP) dnl -if test "$with_libssh2" != "yes" && test "$with_libssh2" != "no"; then - libssh2_path="$with_libssh2" -elif test "$with_libssh2" = "yes"; then - libssh2_path="/usr/local/lib/" -elif test "$with_libssh2" = "no"; then - with_phyp="no"; -fi +LIBSSH2_CFLAGS="" +LIBSSH2_LIBS="" -if test "$with_phyp" = "check"; then - AC_CHECK_LIB([ssh2],[libssh2_session_startup],[ - LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path" - AC_SUBST([LIBSSH2_LIBS]) - ],[ - with_phyp="no" - with_libssh2="no"; - ],[]) - - if test "$with_phyp" != "no"; then - AC_CHECK_HEADERS([libssh2.h],[ - with_phyp="yes" - LIBSSH2_CFLAGS="-I/usr/local/include" - AC_SUBST([LIBSSH2_CFLAGS]) - ],[ - with_phyp="no" - with_libssh2="no"; - ],[ - ]) - fi - - if test "$with_phyp" != "no"; then - saved_libs="$LIBS" - LIBS="$LIBS -L$libssh2_path -lssh2" - AC_TRY_LINK([#include <libssh2.h>], [ - (void) libssh2_session_block_directions(NULL); - ], [ - AC_DEFINE_UNQUOTED([WITH_PHYP], 1, [whether IBM HMC / IVM driver is enabled]) - ], [ +if test "$with_phyp" = "yes" || test "$with_phyp" = "check"; then + PKG_CHECK_MODULES(LIBSSH2, libssh2 >= $LIBSSH2_REQUIRED, [ + with_phyp=yes + ], [ + if test "$with_phyp" = "check"; then with_phyp=no - AC_MSG_NOTICE([Function libssh2_session_block_directions() not present in your version of libssh2 but required for Phyp driver, disabling it]) - ]) - LIBS="$saved_libs" - fi -elif test "$with_phyp" = "yes"; then - AC_CHECK_LIB([ssh2],[libssh2_session_startup],[ - LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path" - AC_SUBST([LIBSSH2_LIBS])],[ - AC_MSG_ERROR([You must install the libssh2 to compile Phyp driver.]) - ]) - - AC_CHECK_HEADERS([libssh2.h],[ - LIBSSH2_CFLAGS="-I/usr/local/include" - AC_SUBST([LIBSSH2_CFLAGS])],[ - AC_MSG_ERROR([Cannot find libssh2 headers. Is libssh2 installed ?]) - ],[]) - - saved_libs="$LIBS" - LIBS="$LIBS -lssh2" - AC_TRY_LINK([#include <libssh2.h>], [ - (void) libssh2_session_block_directions(NULL); - ], [], [ - AC_MSG_ERROR([Function libssh2_session_block_directions() not present in your version of libssh2. Need >= 1.0]) - ]) - LIBS="$saved_libs" + AC_MSG_NOTICE([libssh2 is required for Phyp driver, disabling it]) + else + AC_MSG_ERROR([libssh2 >= $LIBSSH2_REQUIRED is required for Phyp driver]) + fi + ]) +fi - AC_DEFINE_UNQUOTED([WITH_PHYP], 1, - [whether IBM HMC / IVM driver is enabled]) +if test "$with_phyp" = "yes"; then + AC_DEFINE_UNQUOTED([WITH_PHYP], 1, [whether IBM HMC / IVM driver is enabled]) fi AM_CONDITIONAL([WITH_PHYP],[test "$with_phyp" = "yes"]) +AC_SUBST([LIBSSH2_CFLAGS]) +AC_SUBST([LIBSSH2_LIBS]) + dnl libcap-ng AC_ARG_WITH([capng], AC_HELP_STRING([--with-capng], [use libcap-ng to reduce libvirtd privileges @<:@default=check@:>@]), -- 1.7.5.rc1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list