Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] hwloc patches for upstream
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2010-11-24 17:21:44


Le 24/11/2010 23:08, Pavan Balaji a écrit :
>
> On 11/24/2010 09:14 AM, Jeff Squyres wrote:
>>> 1. Disable doxygen builds by default:
>>> https://trac.mcs.anl.gov/projects/mpich2/changeset/7498/mpich2/trunk/src/pm/hydra/tools/bind/hwloc/hwloc
>>>
>>
>> I agree with Brice on this one; you should be using embedded mode to
>> disable a bunch of stuff by default. This will save you lots of
>> hassles; not just doxygen.
>>
>> So my question -- per prior email -- is: why not use
>> --disable-embedded-mode, and --disable-shared --enable-static? (vs.
>> patching) IIRC, I put --disable-embedded-mode there exactly for the
>> case of projects that want to embed but don't want to call our m4
>> directly.
>
> We use an AC_CONFIG_SUBDIR-style macro for launching the hwloc
> configure (but slightly modified to do a sandbox-configure so we can
> catch errors). So, the configure arguments come from what the user
> specified. We have capability to internally add extra configure
> arguments specifically for hwloc, but I was trying to avoid that.
> Besides, other projects might not have the same macros that MPICH2 has.
>
> With respect to using embedded mode, the reason is the same as above
> -- if hwloc's configure fails, we don't want MPICH2's configure to
> fail as well. Using a sandbox configure allows us to catch hwloc's
> configure errors and disable it for cases where it doesn't work.

Jeff knows more about this, but from I see in
tests/embedded/configure.ac, you can catch errors:
  HWLOC_SETUP_CORE([hwloc], [hwloc_setup=happy], [hwloc_setup=unhappy])
and then do what you want depending on $hwloc_setup.

Brice