On 4 April 2016 at 10:08, Anders Roxell <anders.rox...@linaro.org> 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.
>

I can't see a rationale for not failing as soon as possible, but I might be
missing something since I did not study this patch.


>
> >
> > 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.
>
> 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
>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to