[Build-common-hackers] Bug#410096: Please drop useless DEB_BUILDDIR_$(cdbs_curpkg) handling in DEB_CONFIGURE_INVOKE to permit reusal
Jonas Smedegaard
dr at jones.dk
Fri Nov 6 03:10:22 UTC 2009
Hi Loïc,
On Wed, Feb 07, 2007 at 06:06:42PM +0100, Loïc Minier wrote:
> Could you please change in autotools-vars.mk:
>DEB_CONFIGURE_INVOKE = cd $(if $(DEB_BUILDDIR_$(cdbs_curpkg)),$(DEB_BUILDDIR_$(cdbs_curpkg)),$(DEB_BUILDDIR)) && $(DEB_CONFIGURE_SCRIPT_ENV) $(DEB_CONFIGURE_SCRIPT) $(DEB_CONFIGURE_NORMAL_ARGS)
>
> into:
>DEB_CONFIGURE_INVOKE = $(DEB_CONFIGURE_SCRIPT_ENV) $(DEB_CONFIGURE_SCRIPT) $(DEB_CONFIGURE_NORMAL_ARGS)
>
> And in autotools.mk:
>$(DEB_CONFIGURE_INVOKE) $(cdbs_configure_flags) $(DEB_CONFIGURE_EXTRA_FLAGS) $(DEB_CONFIGURE_USER_FLAGS)
>
> into:
>cd $(DEB_BUILDDIR) && $(DEB_CONFIGURE_INVOKE) $(cdbs_configure_flags) $(DEB_CONFIGURE_EXTRA_FLAGS) $(DEB_CONFIGURE_USER_FLAGS)
>
>
> The current DEB_CONFIGURE_INVOKE is complicated but its complexity is
> not useful/usable: $(cdbs_curpkg) is "config.status" in the scope of
> $(DEB_BUILDDIR)/config.status in autotools.mk and I expect it to be
> the same in any custom rule calling a ./configure to generate a
> config.status.
You are right that $(cdbs_curpkg) expands to a bogus value in the
default configure target, but if you construct targets like
configure/pkgname:: then $(cdbs_curpkg) will resolve to pkgname.
Your proposed changes looks sensible, but will break routines for anyone
currently overriding DEB_CONFIGURE_INVOKE.
We might be able to figure out a way to support your needs while not
causing surprises for current users, but perhaps it is not needed, given
my info above about cdbs_curpkg expansion.
Also, makefile and autotools snippets currently in cdbs Git supports
expanding both DEB_BUILDDIR and DEB_DESTDIR with $(cdbs_curpkg).
> Alternatively, it might be possible to replace the current single
> configure call by a series of call, one per DEB_BUILDDIR_*, with a
> generic rule to build DEB_BUILDDIR_$package/config.status.
Actually, I could really use your help with this:
For more than a year I have used a local fork of the makefile and
autotools snippets that support "flavors" - compiling the main code
multiple times with different compile options.
I have now applied most of the improvements to mainline cdbs, but am
hesitant if I should change something to the "flavor" handling: The way
I have done it is by reusing the .../pkg construct as .../flavor.
Obviously that means one can _either_ use per-package builds _or_
flavored builds, but not both at the same time.
Imagine a source package containing multiple separate autotools
environments, and one of them containing a Python library. Would be
cool to not need to repackage the upstream tarball, but just declare
that each binary package should compile their own isolated builds, and
that one of them additionally should build for all available Python
versions.
Ideas?
The flavors-enabled snippets are used in multiple packages, including
some that use it for Python building. If you want to try figure out if
it suits your need - and hopefully help make it support both flavors and
per-package builds - then the most up-to-date snippets are in the libgd2
Git at git://git.debian.org/git/collab-maint/libgd2
Kind regards, and sorry for the extremely late response,
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/build-common-hackers/attachments/20091106/be2cb549/attachment.pgp>
More information about the Build-common-hackers
mailing list