> Even just thinking about this topic makes me a bit ill.  We have a fairly
> intricate build system built on top of libMesh's current build system that is
> in use by nearly 100 developers spread across all the national labs and
> several universities.  We have put a _ton_ of work into this system, but it
> heavily relies on the Makefiles libMesh generates.  It is a "cascading" build
> system where dependent libraries are automatically rebuilt as needed (it's
> necessary in our system where we have multiple "layers" with each layer being
> a separate library).

For external applications I am not sure there necessarily will be any change
at all. I'm trying to keep the same Make.common - which is all you need, no?

So what I am trying to do is get automake integrated to build libMesh and
the contributed packages.

To test this I am going to try and leave the examples makefiles unchanged
and get that to work.  There are two types of application linkages in my
mind:

(1) those that include our Makefile.common, and
(2) those that use libmesh-config
 
I think if we do this right we can support both without change

> I can see two benefits of changing it:
> 
> 1.  Builds for multiple systems in the same tree.
>   - Firstly, we could do this now, very easily, by just providing a different
> prefix / suffix for the different machines (just like we do with dbg, opt,
> devel)

We will definitely get this - this is one of my main motivations

> 2.  "make dist".  This is becoming more important for us.  We are going to
> have to start doing binary distributions pretty soon.  If changing build
> systems would allow us to easily do thatÅ  then I might be for it.  How hard
> would this be to do with our current build system?

In the automake context 'make dist' will package up a release-able tarball
which itself is independent of the autotools

Are you talking about binary distributions of libMesh?

What we will get is the typical 'make install' that packagers are expecting,
and from there it would be much easier to support RPMs or other binary
packages.  A benefit of the automake baggage is that it implements the GNU
development standards which makes using the package much more predictable,
and easier for bundlers.


-Ben


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to