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 libhwloc.so and make a libhwloc-openfabrics-verbs.so.
> 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 :)