Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] Problem with hwloc/myriexpress.h
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2011-02-03 09:49:21

Le 03/02/2011 15:37, Jeff Squyres a écrit :
> 2. Rename myriexpress.h
> PRO: avoids the problem
> CON: breaks legacy apps who include "hwloc/myriexpress.h"
> CON: doesn't solve the real problem

myriexpress.h was added in 1.1 so we probably don't have a lot of users
so far.

> 3. Move hwloc's public config.h in a new directory by itself (e.g., include/hwloc/config/config.h)
> PRO: works around the AM behavior
> PRO: fixes the issue for hwloc and for embedding
> PRO: avoids any other name potential conflicts with include/hwloc/*.h
> CON: kludgey -- leaves a bitter taste in your mouth

What about hwloc/bits/config.h ? My understanding of
/usr/include/bits/foo.h is that it contains horrible details that real
people don't want to hear about :) Or hwloc/sys/config.h ?

I wonder if we should also move rename.h there too. Then we'd have:
hwloc.h = main header
hwloc/*.h = misc helpers and other APIs
hwloc/bits/*.h = don't look there, these are low-level details

Anyway, I vote for #3.
#4 doesn't look very hard, but might cause ugly maintenance problems in
the future.