[Monetdb-developers] Proposed changes to build setup
Hi all, recently, Jan and I have looked at some aspects of the Pathfinder/MonetDB build process. And we had the impression that there is some inconsistency in the current setup. The makefiles of all MonetDB-related projects currently include $MONETDB_CONFDIR/rules.mk. This file basically contains instructions on how to use the tools from the buildtools package to compile all the projects from CVS sources. To compile a project from distributed tarballs, none of these rules should be necessary. Thus, I think a much better place to host the rules.mk file would be in the buildtools package. Thus I would suggest to do the following changes and ask for your comments whether these changes make sense: -- rules.mk goes to the buildtools package. This is where it belongs to. -- The buildtools package gets its `buildtools-config' bash script in order to allow remaining packages to actually find rules.mk. -- Instead of include $(MONETDB_CONFDIR)/*.mk the bootstrap script inserts if HAVE_BUILDTOOLS include $(BUILDTOOLS_CONFDIR)/rules.mk endif to make the inclusion of the rules dependent on the outcome of the ./configure run. (Otherwise, we would depend on the buildtools in the distribution tarballs, which we don't want.) -- The tests invoked by ./configure finally need to take care of setting HAVE_BUILDTOOLS appropriately (using buildtools-config). If nobody objects, I would do the necessary changes as soon as we have forked off the new stable branch. Jens -- Jens Teubner Technische Universitaet Muenchen, Department of Informatics D-85748 Garching, Germany Tel: +49 89 289-17259 Fax: +49 89 289-17263 Statistics show that most people are in the majority, while a few are in the minority. -- Nitin Borwankar
On 2007-01-17 09:57, Jens Teubner wrote:
Hi all,
recently, Jan and I have looked at some aspects of the Pathfinder/MonetDB build process. And we had the impression that there is some inconsistency in the current setup.
The makefiles of all MonetDB-related projects currently include $MONETDB_CONFDIR/rules.mk. This file basically contains instructions on how to use the tools from the buildtools package to compile all the projects from CVS sources. To compile a project from distributed tarballs, none of these rules should be necessary. Thus, I think a much better place to host the rules.mk file would be in the buildtools package.
Thus I would suggest to do the following changes and ask for your comments whether these changes make sense:
-- rules.mk goes to the buildtools package. This is where it belongs to.
-- The buildtools package gets its `buildtools-config' bash script in order to allow remaining packages to actually find rules.mk.
-- Instead of
include $(MONETDB_CONFDIR)/*.mk
the bootstrap script inserts
if HAVE_BUILDTOOLS include $(BUILDTOOLS_CONFDIR)/rules.mk endif
to make the inclusion of the rules dependent on the outcome of the ./configure run. (Otherwise, we would depend on the buildtools in the distribution tarballs, which we don't want.)
-- The tests invoked by ./configure finally need to take care of setting HAVE_BUILDTOOLS appropriately (using buildtools-config).
If nobody objects, I would do the necessary changes as soon as we have forked off the new stable branch.
Jens
I'm not entirely sure that what you say is correct. I'm not convinced that none of the rules are needed if you compile from tarballs. In other words, check whether that actually works before you commit the change. If it does work, I'm not against such a change. -- Sjoerd Mullender
participants (2)
-
Jens Teubner
-
Sjoerd Mullender