On Tue, May 4, 2010 at 11:16 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org">jed@59a2.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Tue, 4 May 2010 11:09:59 -0500, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
> All the build metadata is in an OO database in Python. builder.py<br>
> extracts it in order to do the build.<br>
<br>
</div>How does builder.py find out which optional stuff to build, the stuff<br>
that is in the makefiles with #requirespackage, #requiresprecision, etc?</blockquote><div><br></div><div>Each configure test is a Python module. The modules are organized in a DB. You</div><div>can request a module using its full name. When you get the module reference you</div>
<div>can query all of its attributes. For instance,</div><div><br></div><div>  config.PETSc.utilities.scalarTypes has attribute "scalartype" which can be "real" or "complex"</div><div><br></div>
<div>Same for 3rd party packages, which all inherit from config.package.Package.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
Jed</font></blockquote></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>