There was some confusion yesterday at the developer’s meeting over a topic 
regarding framework dependencies. I apologize - I should have looked over the 
agenda more closely in advance to ensure I recalled everything. Instead of the 
topic I had wanted to discuss, we wound up discussing embedding dependency 
arguments in component definitions.

What I really wanted to raise was the issue of statically including all base 
framework definitions in the core library. In other words, if you want to 
define a new framework for ORTE, you _must_ put the framework header and the 
base directory in libopen-rte. This makes it impossible for a 3rd party to add 
an ORTE framework - they have to get the OMPI community to add it upstream 
first.

Note that you _can_ add components dynamically - you just can’t add a framework.

The only solution a 3rd party has today is to create another project layer in 
the code, and put the framework there. However, this may be somewhat limiting 
due to circular build dependencies if, for example, an ORTE component needed to 
reference the new framework, and the new project/framework has an explicit link 
to libopen-rte.

Resolving this would require that we dynamically load the frameworks 
themselves, and not just the components. This point is what led to Jeff’s 
proposal about dependencies - however, the dependency definitions are not 
_required_ in order to make this change.

So the question to the community is: does anyone see an issue with making 
frameworks into dll’s? Obviously, this approach won’t work for static builds, 
but that is a separate issue.

Thanks
Ralph

Reply via email to