On 04/04 16:08:26, Anders Roxell wrote:
> On 26 March 2016 at 02:06, Brian Brooks <brian.bro...@linaro.org> wrote:
> > On 04/01 22:15:34, Anders Roxell wrote:
> >> On 25 March 2016 at 20:25, Brian Brooks <brian.bro...@linaro.org> wrote:
> >> > If --with-cunit-path=DIR is used, skip the AC_CHECK_LIB and modify the 
> >> > linker
> >> > flags accordingly.
> >>
> >> Why should we skip the AC_CHECK_LIB and AC_CHECK_HEADERS step
> >> don't feel right.
> >>
> >> >
> >> > Signed-off-by: Brian Brooks <brian.bro...@linaro.org>
> >> > ---
> >> >  test/m4/validation.m4 | 8 ++++++--
> >> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/test/m4/validation.m4 b/test/m4/validation.m4
> >> > index b137118..f6c93f7 100644
> >> > --- a/test/m4/validation.m4
> >> > +++ b/test/m4/validation.m4
> >> > @@ -33,12 +33,16 @@ AC_HELP_STRING([--with-cunit-path=DIR   path to 
> >> > CUnit libs and headers],
> >> >  
> >> > ##########################################################################
> >> >  # Check for CUnit availability
> >> >  
> >> > ##########################################################################
> >> > -if test x$cunit_support = xyes
> >> > +if test x$cunit_support = xyes -a -z "$CUNIT_PATH"
> >> >  then
> >> >      AC_CHECK_LIB([cunit],[CU_get_error], [],
> >> >          [AC_MSG_ERROR([CUnit libraries required])])
> >> >      AC_CHECK_HEADERS([CUnit/Basic.h], [],
> >> >          [AC_MSG_FAILURE(["can't find cunit headers"])])
> >> >  else
> >> > -    cunit_support=no
> >> > +    if test -z "$CUNIT_PATH"; then
> >> > +        cunit_support=no
> >> > +    else
> >> > +        AM_LDFLAGS="$AM_LDFLAGS -lcunit"
> >> > +    fi
> >>
> >> this patch is still incomplete you miss to add the headers right.
> >
> > Hi Anders,
> >
> > Can you help me understand why this patch is incomplete?
> 
> I was wrong!
> I forgot that we add cunits header and lib path above.
> 
> >
> > The include & lib path for OOT CUnit is taken care of via AM_CPPFLAGS and
> > AM_LDFLAGS when --with-cunit-path=DIR is used. Only "-lcunit" is required
> > if AC_CHECK_LIB is skipped.
> 
> You are correct that is enough.
> 
> >
> > AC_CHECK_LIB has side effect of LIBS+="-lcunit" which makes subsequent
> > autoconf checking, e.g. for GCC atomics, fail because the include & lib
> > path for OOT CUnit is in AM_CPPFLAGS and AM_LDFLAGS not CPPFLAGS and
> > LDFLAGS. The previous workaround is rather tricky to do cleanly here--if
> > possible at all. The reason is the location of the WAR and CUnit checking
> > was at the very bottom of the configure stage. So, no subsequent building
> > of tiny programs for checking feature support was happening. Now, the
> > CUnit checking is happening earlier in configure stage which makes the
> > previous WAR very difficult to support. I do not think it is possible.
> 
> If we think its acceptable to fail when build and not early during
> configure then
> we should remove AM_CHECK_* for other OOT as well, and not only this.
> 
> >
> > The proposal here is to simply skip the AC_CHECK_LIB & AC_CHECK_HEADERS
> > and add the "-lcunit" side effect via AM_LDFLAGS _only_ when
> > --with-cunit-path=DIR is used. If DIR is incorrect, the build will still
> > fail, just at later stage instead of in configure stage. This might be
> > acceptable to developers who choose to work on ODP with an OOT CUnit.
> 
> I like the idea of failing early in the configure step and not when building.
> 
> >
> > What do you think? Do you have alternate recommendation e.g. moving CUnit
> > checking back to bottom of configure stage so WAR can be used?
> 
> that was basically what I did with [1], right.

Looks good to me. Cheers

> Cheers,
> Anders
> [1] https://lists.linaro.org/pipermail/lng-odp/2016-April/021682.html
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to