On Sun, 22 Feb 2004, John Whitley wrote:
I still need to fullly understand the approach implemented by CL_PROVIDE and related macros in modules.h, then determine/implement/test the solution for Darwin-based platforms.
Luck! Just expanding things makes it rather clear, doesn't it?
FWIW, I've had to manage this problem in C++ embedded systems before, e.g. via a linker directive files.
What's a "linker directive file"? Do you mean you just force the linker command line, such that the objects up in the graph come before the ones below it? That would be feasible on GNU/Linux as well because the order of initialization is determined by the order on the linker commandline, AFAIK. If that is it, how does such a file look like?
I'm unclear as to what motivated the design choices in CLN, such that it even encounters the constructor ordering problem in the first place?
Err... guarding objects from accidentally being used before they are even initialzed... without resorting to clumsy construct-on-first-use functions... What was your question again? By the way: what happens with -DNO_PROVIDE_REQUIRE? Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/email.html>