On Wed, 28 Nov 2012, Kirk, Benjamin (JSC-EG311) wrote:

> Yeah, but with a --prefix you can put a pure opt somewhere and a
> gprof, oprofile, vtune, and whatever else comes along somewhere
> else.  To me anyway this is much preferable to maintaining multiple
> method rules and targets.

Our entire oprofile support required just:
2 compiler.m4 lines to pick appropriate flags in gcc and intel cases.
8 Make.common.in lines to accept both METHOD="oprof" and "oprofile"
5 Make.common.in lines to add appropriate flags,

That's about the level of effort (even before amortizing over 5 years)
that would be required just to double-check the oprofile website to
make sure you got the right flags before passing in libmesh_CXXFLAGS
and libmesh_CFLAGS manually for a single configure.

Adding such features via automake didn't become an order of magnitude
harder, did it?  It looked as if ever since you added
contrib/Make.common things have been pretty clean in branch too.

> opt,dbg, and devel are materially different not so much because of
> the compiler flags (important, but doesn't change the fundamental
> nature of the code being compiled) but rather the CPPFLAGS -
> -DNDEBUG, -DDEBUG, <> respectively.

Making users set their own CXXFLAGS and CFLAGS, but not their own
CPPFLAGS, seems a bit arbitrary.

> Aside - my understanding is the only cost to "-g" is file size,

Any idea whether this affects cache use?  On most systems I don't care
whether every binary is dragging around megabytes of debug
information, and I don't care whether ld.so (or whatever) has some
extra startup time sorting through that, but it would be nice to be
sure that the debugging symbols don't get into (and force anything
else out of) cache when code pages are loaded.

> and there are 'make install-strip' targets for that for those who
> care - it will strip the symbols at install time.  That's why the
> default CXXFLAGS unless you do something special become '-g -O2'.

I'd forgotten about "make install-strip" - nice!

Do you know if there's any simple automake support for separated
debug-info files?
http://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html
---
Roy

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to