On Nov 21, 2012, at 8:07 PM, Paul T. Bauman <[email protected]> wrote:

> The only difference between this and the former build system is the extra 
> cd's (minor annoyance) and make install (nice new feature, IMHO, that was not 
> present in the previous build system).
>  
>> Then I go make a change to libMesh and need to do:
>> 
>> cd build_opt
>> make
>> make install
>> cd ..
>> cd build_dbg
>> export METHOD=dbg
>> make
>> make install
>> 
>> Every single change I must now go into two different directories to build 
>> AND I must run "make install" for each one.


Of course, you can always omit the naked make -- make install will run it for 
you.  Also, the only time METHOD is actually used is configure time.  That is 
why it is difficult to support dynamic METHODs - the Makefile targets must not 
depend on environment variables.

Now, as I mentioned previously, if your workflow always considers multiple 
methods it is pretty straightforward for me to add support for

$ ./configure METHODS="opt dbg devel"

and have it create a subdirectory for each, the only catch then is a

$ make

will *always* recurse into each.  In fact, I can add that alongside what is 
already there - but letting METHODS trump METHOD when both are specified….  
hmm… Might do that.

About the compile times on NFS-mounted systems:  The dependency generation is 
now much more rigorous than what we had previously.  Before we relied on 

#include "foo.h"
#include <bar.h>

as being different, and only considered "foo.h" as a dependency.  Provided 
people followed the convention (usually did, although I've fixed this countless 
times) it was reasonable. This has undoubtedly missed system-level dependencies 
that should have been caught.

We now get all system dependencies, including things like cmath, and I'm sure 
this takes longer on NFS-mounted directories.

If you are doing a "one-time-build" on a system and you are compiling 
everything from scratch you can forego all dependency generation with

$ ./configure --disable-dependency-tracking …

which will just compile everything.

-Ben
 
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to