On 9/7/06 6:15 PM, "Jeff Squyres" <jsquyres_at_[hidden]> wrote:
> All you have to do to get this define is #include "ompi_config.h", which all
> of the files should be doing already, anyway.
Oops! Ralph pointed out to me that this is not quite correct.
In the OOB TCP component, you should *NOT* include "ompi_config.h" -- you
should include "orte_config.h" (and it should already be included, anyway).
both orte_config.h and ompi_config.h should have the appropriate #define's
in place. I goofed in my original patch; see new version (attached) where
the macro has been renamed to OPAL_WANT_IPV6 (vs. OMPI_WANT_IPV6). The new
patch wholly replaces the prior patch.
The stack has 3 layers:
- opal: Open Portable Access Layer
- orte: Open Run Time Environment
- ompi: Open Message Passing Interface
These are strictly layered on each other, so ORTE, for example, has zero
knowledge of OMPI. We used to have one big tree and only informal layering
of these 3 sections of code, but now they're actually 3 different trees.
Hence, the code division is strict and absolute (e.g., by default, we make 3
libraries: libopal, liborte, libompi). Abstractions violations are swiftly
punished by the linker.
However, there are still a bunch of top-level names that are "OMPI" (mainly
stemming from configure), even though they're intended for OPAL and/or ORTE.
But that's no reason to continue the bad names. The macro that I added
yesterday was OMPI_WANT_IPV6, but I really should have named it
OPAL_WANT_IPV (since OPAL is where most of the portability machinery is
supposed to go). I've amended my previous patch -- see attached. So
surround your code with:
I can't commit this to the trunk until tonight -- we have an informal policy
in the project to not make changes to configure and friends during the
Euro/US work day so as not to force developers to re-run autogen.sh during
Server Virtualization Business Unit