[PATCH] Add -lpwl to ppllibs.

Ralf Wildenhues ralf.wildenhues@gmx.de
Tue Feb 22 08:20:00 GMT 2011


Hello Sebastian,

* Sebastian Pop wrote on Fri, Feb 18, 2011 at 06:40:20PM CET:
> here is the patch with the changes that you requested:
> 
> 	* configure.ac: Use AC_CHECK_LIB to check for -lpwl.
> 	* configure: Regenerated.
> 
> This passed regstrap on amd64-linux.  I tested on two different
> machines one having and the other one without libpwl.  Ok for trunk?

> --- a/configure.ac
> +++ b/configure.ac
> @@ -1621,7 +1621,9 @@ AC_ARG_WITH(boot-ldflags,
>  AC_SUBST(poststage1_ldflags)
>  
>  # Check for PPL
> -ppllibs=" -lppl_c -lppl -lgmpxx"
> +pwllib=
> +AC_CHECK_LIB(pwl,PWL_handle_timeout,[pwllib="-lpwl"])
> +ppllibs=" -lppl_c -lppl $pwllib -lgmpxx"

This seems is OK.

Although, looking again, this is the first AC_CHECK_LIB test added to
toplevel.  I'm wondering whether there is something I'm completely
overlooking again.  Hmm, one can do link tests for the host compiler,
no?  Paolo?

>  pplinc=
>  
>  AC_ARG_WITH(ppl,
> @@ -1643,7 +1645,7 @@ case $with_ppl in
>    "" | yes)
>      ;;
>    *)
> -    ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
> +    ppllibs="-L$with_ppl/lib -lppl_c -lppl $pwllib -lgmpxx"

This doesn't make sense to me.  If you need -L$with_ppl/lib to link with
PPL, then most likely the test for libpwl would have needed that flag as
well in order to be correct.  So it seems it would need here a link test
for libpwl with -L$with_ppl/lib but none of the other libraries added.

>      pplinc="-I$with_ppl/include $pplinc"
>      ;;
>  esac
> @@ -1651,10 +1653,10 @@ if test "x$with_ppl_include" != x; then
>    pplinc="-I$with_ppl_include $pplinc"
>  fi
>  if test "x$with_ppl_lib" != x; then
> -  ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
> +  ppllibs="-L$with_ppl_lib -lppl_c -lppl $pwllib -lgmpxx"

Likewise, the test would have needed -L$with_ppl_lib here.

>  fi
>  if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
> -  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
> +  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl '"$pwllib"' -lgmpxx '

The check above doesn't check the in-tree ppl, so it cannot tell you an
answer about the in-tree library (and it may not even have been built
yet).  OTOH, toplevel configure knows how ppl will be built: it will
create its configure command line.  I think your only chance to get
things right here is to look for --enable* or --with* flags passed by
the user (you can check the right $enable_* or $with_* variable instead,
i.e., in this case $enable_watchdog), or be sure to pass them correctly
to ppl.

>    pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
>    enable_ppl_version_check=no
>  fi

When testing a patch for this change, it should be completely sufficient
to run toplevel configure and then 'grep ppllibs config.status' to see
that things worked.  But configure should be run with each of the above
option combinations (--with-ppl, --with-ppl-lib, none of these, and
in-tree PPL with or without --enable-watchdog) and once each with the
library present and once absent.  And, I suppose, one cross setup
bootstrap.

Thanks,
Ralf



More information about the Gcc-patches mailing list