ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: Abstracting builds (Was RE: Automatically generating build files)
Date Thu, 17 May 2001 01:31:10 GMT
At 03:57  16/5/01 -0700, Peter  Vogel wrote:
>Congratulations! You've just discovered one of the "truths" about
>large system builds.  Lots of stuff to build almost all of it builds
>in exactly the same way.
>In the world of GNUMake, I routinely move all the common build stuff
>up into a pair of files: make.config and make.targs and then I 
>do this in each individual makefile:
>TOPDIR=<top of tree>
>include ${TOPDIR}/make.config
>UNIX_LIBRARIES=foo.a bar.a
>WIN32_LIBRARIES=foo.lib bar.lib
>SRCS_foo =foo.c zoo.c 
>SRCS_bar =bar.c zar.c
>include ${TOPDIR}/make.targs
>And everything happens correctly depending on whether the make is
>taking place on a win platform or a unix platform.  All the complex
>"guts" of the build system are in the make.targs and make.config dir,
>but I KNOW that everything builds under an absolutely controlled 
>environment, and I can stake my job on the fact that a build I do today
>will be identical to the build I do three months from now using the same
>source contour.


>In the world of ant, we can do some of the same things, and in many ways
>the description is more elegant, unfortunately, the lack of some features
>in ant (i.e. true conditional expressions, ability to specify an environment
>to take effect for ALL subprocesses invoked by ant, and ability to include 
>one file from another (other than properties) make it truly hard to reach
>this level of abstraction.  The closest I can come up with is something
>like this:

agreed. Is there anything that you can see that would be missing if there
was the two steps "autoconf->template->..." before build file execution. I
have not been able to identify and good build practices that wouldn't be
accomodated by that.



| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

View raw message