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) or * 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 :) Brice