OK. I'd like to add that u_atomic.h already requires either GCC, MSVC or Solaris, and GCC and MSVC are already supported by this system. Thus we do indeed now have a simple way to do global constructors, that only removes support for non-GCC Solaris until someone figures out how to do that.
And it's relatively simple, you just have to figure out the section name of the global constructor table, and how to instruct the specific compiler to put a variable in a specific section. GCC even has __attribute__((constructor)) which does it all for you. At any rate, util_format_s3tc_init has similar issues, and is currently called from a few places. I think the best thing to do to implement your suggestion is adding an util_format_init that calls both init functions and leave the UTIL_INIT code in place (since it seems we now got it right): it is easy to remove by deleting u_init.h if desired. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev