On Fri, Jul 2, 2010 at 8:54 PM, Kirk, Benjamin (JSC-EG311) <benjamin.kirk-1@nasa.gov> wrote:
OK, so I used to hate automake out of ignorance, now I hate it out of
Agreed on all counts.

Still, that said, it does have some benefits.  I think we could take
advantage of it as a parallel-path build system for a trial period.  Before
I invest any effort in porting, however, I'd like to solicit your thoughts.


(1) its what people expect
(2) make install
This is a big deal I think. This would enable having multiple installs of libMesh sitting around with one source tree and enable developers to monkey in the code with out breaking the installs. This is a big big plus to me.
(3) make dist
This is handy. 
(4) it 'does the right thing' for shared libraries and makes
platform-agnostic makefies
Usually. I hate libtool more than autoconf and automake combined. I currently have a problem in my own code where it doesn't do the right thing for "make check" on Mac, but does on Linux. 

(1) manually add source files
This is actually not as heinous as I originally thought it would be. The leg work up front is tedious and should be done with beer in hand, but adding new source files is pretty quick, especially if you organize things.

What is infuriating is handling what gets "installed" and what goes into "dist". For example, you have to list all .h files to be installed. I would've liked them to assume that if you want a shared library installed, you'll want to install all the headers used to build it. Alas, you have to specify manually. Similarly for dist. Very annoying. Or maybe I'm still too green with autotools.

(2) verbosity hides compiler warnings, unless using really new versions with
silent rules
I haven't explored too much - are there rules to make things less verbose? I too am annoyed by my 30 line long compile lines that hide everything when I do make -j 3. 

I volunteer to help with a lot of the leg work on this if it's decided to move forward with it.