On Tue, Nov 15, 2011 at 6:30 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Tue, Nov 15, 2011 at 18:18, Sean Farley <sean at mcs.anl.gov> wrote:
>
>> I think this is a wholly bad idea. Putting build logic down in individual
>>> makefiles is bad.
>>
>>
>> Why should every object file be built with -I${VALGRIND_INCLUDE}? Why
>> can't just the valgrind sources be compiled with the valgrind flags?
>>
>
> I agree. Including all the dependent libraries is more fragile. We use MPI
> in our public interface (this is a good thing), so it's okay to include
> mpi.h. All the other headers should not be in the public interface. Note
> that this is also important so that they can link with -lpetsc instead of
> needing -lpetsc -lvarious -lother
> -llibs-that-are-different-for-each-configuration.
>

Yes, but you are advocating a really shitty infrastructure for doing this.
How do you expose these when the user turns out to want
them (like ParMetis for instance)? How do you follow the chain back to find
a bug if you have build logic scattered all over?

   Matt

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111115/fc6b3c4a/attachment.html>

Reply via email to