Fixing the macros madness.



Background:

	It has been two years and we still have not fixed the autoconf
	macros problem in a decent way.  We still get a lot of
	questions in irc and mailing lists from people trying to
	compile code from CVS.

	Compiling code from CVS is important, because sometimes that
	is the only place where bug fixes are available, and small
	contributors although not full fledged hackers, might be able
	to contribute more if we have a decent build setup than the
	build setup we have.

	The gnome-common package distributes the macro files for other
	modules to use for the 2.x platform, but this is a suboptimal
	approach, and it is a work around for the core of the problem
	which is that each package should be the provider of its own
	macros, and not some magic CVS feature.

	The fact that aclocal is suboptimal and that it is not getting
	fixed, nor does it look like it will get fixed is maybe
	hinting us that we did something wrong rather than automake. 

The suggestion:

	The idea is to move the install the macros in each package
	that provides it into the system location (just like every
	other sane package does).

	The way this would work is:

	     1. Macro files are moved to each package that provides
		it, moved from $PACKAGE/macros to $PACKAGE/auto-macros
		(if there are too many macros, or $PACKAGE/. for one
		macro). 

	     2. All macros cvs removed from the macros directory. 

What does this mean to developers:

	People would have to install new versions of gnome-libs in
	their systems during this transition period (seasoned hackers
	can be more elite and type cp macros/* $prefix/share/aclocal).

	We could drop the ACLOCAL_INCLUDE(macros) from out
	configure.in packages (as it would be a no-op after this is
	done).

The culprits:

	gnome-libs, ghttp, libgtop, gnome-xml, bonobo, gnome-print, mc.

	The use of the Gnome Print and Bonobo testing macros is pretty
	useless anyways, the gnome-config/pkgconfig approach is a lot
	better anyways.

Does anybody see anything I missed?

Best wishes,
Miguel.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]