Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] v0.9 branch
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2009-10-21 16:03:58

Jeff Squyres wrote:
> On Oct 21, 2009, at 3:43 PM, Brice Goglin wrote:
>> Now that I try to implement it, I remember why an inline is convenient:
>> it doesn't require any build-time/run-time dependency unless you really
>> use it. If we make this code non-inline, we actually need libibverbs at
>> build time and runtime. Distro packages will have to depend on
>> libibverbs, and we'll get lots of complaints. Same for linux-libnuma.h
>> and maybe nvidia cuda one day :) So we'll probably end up splitting this
>> code out of and make a
> Ah, good reason. Let's leave it as inline for 0.9.1, then. But we do
> need to fix the topology parameter, sorry. :-(

Ok, but we still have a problem with LINUX_SYS not being visible to
external users (it's only defined in private/config.h). Our test gets
the right Linux code because it includes private/config.h explicitely.
But all externall users will use the default/dumb code path.

We could either:
* use unifdef at install time to keep the relevant #ifdef/#ifndef code
path (I don't know how popular unifdef is)
* have different headers in the tarball, one for each OS, and only
install the right one

> Should we make a dlopen-like functionality for this kind of stuff for
> v1.0? It's not hard to do with libltdl.

No idea :)