Hi,

On Mon, Dec 19, 2016 at 04:46:49PM +0100, Gert Doering wrote:
> *Or* just check for GNU ld, and disable cmocka testing if that's not
> available - we already have a check in there that talks about
> "checking for ld used by $CC", which seems to result in 
> 
>   "with_gnu_ld=yes" 
> 
> if, well, GNU ld is used.  So the cmocka init part could just add a
> check 
> 
>    if [ yes != "$with_gnu_ld" ] ...
> 
> and set CMOCKA_INITIALIZED to "false".  Done.

Trying this avenue.  Configure.ac looks reasonable, the resulting
configure script is a nightmare on steroids, but that wasn't *my* doing
(AM_CONDITIONAL() does some really crazy stuff).

Arne or Ilya, could you test this on MacOS and/or Travis?  I do not
have a working OSX 10.11 build environment right now, so this is 
"tested on linux" only - it's not breaking things here, but I can't 
see if it fixes OSX breakage.

gert

-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de
From 44f3536e13cbe2814406448d230d175aaac74226 Mon Sep 17 00:00:00 2001
From: Gert Doering <g...@greenie.muc.de>
Date: Mon, 9 Jan 2017 21:08:02 +0100
Subject: [PATCH] Skip unit-testing on systems without GNU ld.

Current unit-testing modules rely on using -Wl,wrap= to tell GNU ld
to wrap certain functions for easier mocking.  This fails (at least on)
MacOS X which is no longer using GNU ld.

So, treat GNU ld the same thing as cmake - if it's not there, cmocka
tests are not built and run.

Trac: #813

Signed-off-by: Gert Doering <g...@greenie.muc.de>
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 43487b0..265aa64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1266,7 +1266,7 @@ AC_SUBST([TEST_CFLAGS])
 # Check if cmake is available and cmocka git submodule is initialized,
 # needed for unit testing
 AC_CHECK_PROGS([CMAKE], [cmake])
-if test -n "${CMAKE}"; then
+if test -n "${CMAKE}" -a "$with_gnu_ld" = "yes"; then
    if test -f "${srcdir}/vendor/cmocka/CMakeLists.txt"; then
       AM_CONDITIONAL([CMOCKA_INITIALIZED], [true])
    else
@@ -1274,7 +1274,7 @@ if test -n "${CMAKE}"; then
       AC_MSG_RESULT([!! WARNING !! The cmoka git submodule has not been initialized or updated.  Unit testing cannot be performed.])
    fi
 else
-   AC_MSG_RESULT([!! WARNING !! CMake is NOT available.  Unit testing cannot be performed.])
+   AC_MSG_RESULT([!! WARNING !! CMake is NOT available or not using GNU ld.  Unit testing cannot be performed.])
    AM_CONDITIONAL([CMOCKA_INITIALIZED], [false])
 fi
 
-- 
2.10.2

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to