Fix CUnit test for cross-compilation

The current test in configure.ac for CUnit uses AC_TRY_RUN, which
doesn't work in a cross-compilation context, because we can't run on
the build machine the binaries that are built for the target. In
addition, the current logic assumes CUnit is available when the
AC_TRY_RUN test cannot be used (e.g in a cross-compilation case).

Since we actually don't care about *running* but only about testing
whether a simple program include the CUnit header file and linking
against the cunit library works, simply use AC_TRY_LINK() instead of
AC_TRY_RUN().

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni
2014-09-02 22:41:32 +02:00
parent 2dccc96160
commit 474e88740a

View File

@@ -91,25 +91,14 @@ if test x"$libiscsi_cv_HAVE_SOCKADDR_IN6" = x"yes"; then
AC_DEFINE(HAVE_SOCKADDR_IN6,1,[Whether we have IPv6 support])
fi
AC_MSG_CHECKING(whether libcunit is available)
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$GLIB_LIBS $LIBS -lcunit"
AC_TRY_RUN([
/*
* Just see if we can compile/link with libcunit
*/
AC_TRY_LINK([
#include <CUnit/CUnit.h>
int main(int argc, const char *argv[])
{
return 0;
}
], ac_cv_have_cunit=yes, ac_cv_have_cunit=no,
[echo $ac_n "compile with CUNIT. Assuming OK... $ac_c"
ac_cv_have_cunit=yes])
], [], [ac_cv_have_cunit=yes], [ac_cv_have_cunit=no])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
if test "$ac_cv_have_cunit" = yes ; then